python函數練習題

來源:互聯網
上載者:User

標籤:計算   索引值   lis   遞迴   int   pytho   元組   val   奇數   

1.普通參數、指定參數、預設參數、動態參數的區別

普通參數即普通形式的傳參。

def f(a):    a = a+1    return aret = f(3)

指定參數,按順序插入參數,或者通過“=”指定參數。

def f(a,b,c)    e = a+b+c#預設按順序指定參數f(1,2,3)#或者自己指定參數f(c=1,b=2,a=3)

預設參數,即無需指定,函數預設給定。

動態參數,

 *args  是指當我們需要傳入多個參數時,可以用*args代表多個參數,不用分別在括弧裡指定多個參數
 **kwargs, 當我們需要傳入索引值對類型的參數時就可以用**kwargs

def f(a,*args,**kwargs)##萬能模式,可以插入單個參數,多個參數,索引值對參數
2.寫函數,計算傳入字串中【數字】、【字母】、【空格] 以及 【其他】的個數
def f1(a):    num_num = 0 #數字個數    num_ABC = 0  #字母個數    num_space = 0  #空格個數    num_else = 0 #其他個數    for i in a:        if i.isdigit():            num_num +=1        elif i.isalpha():            num_ABC +=1        elif i.isspace():            num_space +=1        else:            num_else +=1    return num_num,num_ABC,num_space,num_elseli = f1("zifuchuan")print(li)
3、寫函數,判斷使用者傳入的對象(字串、列表、元組)長度是否大於5。
def f3(arg):    if len(arg)>5:        return True    else:        return Falseret = f2({‘a‘:‘b‘})print(ret)
4、寫函數,檢查使用者傳入的對象(字串、列表、元組)的每一個元素是否含有空內容。
def f4(*args):    for i in args:        if i == "":            return True    return Falseret = f2([11,22,‘‘,13])print(ret)
5、寫函數,檢查傳入列表的長度,如果大於2,那麼僅保留前兩個長度的內容,並將新內容返回給調用者。

def f5(*args):   li = list()   count = 0   if len(arg)>2:        for i in args:            count +=1            li.append(i)            if count ==2:                break        return li   else:       return argret = f2(11,22,33)print(ret)
6、寫函數,檢查擷取傳入列表或元組對象的所有奇數位索引對應的元素,並將其作為新列表返回給調用者。

def f6(*args):    count = 0    li = []    for i in args:        count +=1        if count%2 ==1:            li.append(i)    return liret = f6(11,22,33,44)print(ret)
7、寫函數,檢查傳入字典的每一個value的長度,如果大於2,那麼僅保留前兩個長度的內容,並將新內容返回給調用者。
def f7(arg):    ret = {}    for key,value in arg.items():        if len(value) > 2:            ret[key] = value[0:2]        else:            ret[key] = value    return  retdic = {"k1": "v1v1", "k2": [11, 22, 33, 44],"k3":"12"}r = f7(dic)print(r)
8、寫函數,利用遞迴擷取斐波那契數列中的第 10 個數,並將該值返回給調用者。
def f8(a1,a2,count):    count +=1    a3 = a1 + a2    if count ==10:        print(a1)        return    f8(a2,a3,count)f8(0,1,0)

 

 

 

python函數練習題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.