1. 程式人生 > >python函數練習題

python函數練習題

spa 對象 list() python 大於 blog war class 奇數

1.普通參數、指定參數、默認參數、動態參數的區別

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

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

ret = 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_else li = f1("zifuchuan") print(li)

3、寫函數,判斷用戶傳入的對象(字符串、列表、元組)長度是否大於5。

def f3(arg):
    if len(arg)>5:
        return True
    else:
        return False

ret 
= f2({a:b}) print(ret)

4、寫函數,檢查用戶傳入的對象(字符串、列表、元組)的每一個元素是否含有空內容。

def f4(*args):
    for i in args:
        if i == "":
            return True
    return False

ret = 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 arg
ret = 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 li

ret = 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  ret

dic = {"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函數練習題