python函數練習題
阿新 • • 發佈:2018-01-29
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函數練習題