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

1 # ######### 定義函數 ######### 2 3 # name 叫做函數func的形式參數,簡稱:形參 4 def func(name): 5 print name 6 7 # ######### 執行函數 ######### 8 # 'wupeiqi' 叫做函數func的實際參數,簡稱:實參 9 func('wupeiqi') 10 11 def func(name, age = 18): 12 13 print "%s:%s" %(name,age) 14 15 # 指定參數 16 func('wupeiqi', 19) 17 # 使用默認參數 18 func('alex') 19 20 注:默認參數需要放在參數列表最后 21 22 23 def func(*args): 24 25 print args 26 27 28 # 執行方式一 29 func(11,33,4,4454,5) 30 31 # 執行方式二 32 li = [11,2,2,3,3,4,54] 33 func(*li) 34 35 def func(**kwargs): 36 37 print args 38 39 40 # 執行方式一 41 func(name='wupeiqi',age=18) 42 43 # 執行方式二 44 li = {'name':'wupeiqi', age:18, 'gender':'male'} 45 func(**li) 46 47 def func(*args, **kwargs): 48 49 print args 50 print kwargs
2、寫函數,計算傳入字符串中【數字】、【字母】、【空格] 以及 【其他】的個數

1 def my_len(my_def): 2 my_def.split() 3 return len(my_def) 4 res = my_len('hfweiie8832 fej中文') 5 print(res)
3、寫函數,判斷用戶傳入的對象(字符串、列表、元組)長度是否大於5。

1 def my_fun(func): 2 my_count = 0 3 for i in func: 4 my_count = my_count + 1 5 if my_count > 5: 6 print('你傳入的對象的長度大於5') 7 else: 8 print('你傳入的對象的長度不大於5') 9 10 my_fun([1,2,'jdi','中文'])
4、寫函數,檢查用戶傳入的對象(字符串、列表、元組)的每一個元素是否含有空內容。

1 def my_fun(func): 2 for i in func: 3 if i.isspace(): 4 print('這個元素含有空內容') 5 else: 6 continue 7 8 my_fun([' ','12','3','4','diw'])
5、寫函數,檢查傳入列表的長度,如果大於2,那么僅保留前兩個長度的內容,並將新內容返回給調用者。

1 def my_fun(func): 2 my_count = 0 3 for i in func: 4 my_count = my_count + 1 5 if my_count > 2: 6 func = func[0:2] 7 return func 8 res = my_fun([1,2,3,'edj']) 9 print(res)
6、寫函數,檢查獲取傳入列表或元組對象的所有奇數位索引對應的元素,並將其作為新列表返回給調用者。

1 def my_fun(func): 2 my_count = 0 3 func1 = [] 4 for i in func: 5 my_count = my_count + 1 6 if my_count % 2 == 0: 7 func1.append(i) 8 print(func1) 9 my_fun([1,2,3,'edj'])
7、寫函數,檢查傳入字典的每一個value的長度,如果大於2,那么僅保留前兩個長度的內容,並將新內容返回給調用者。
1
2
3
|
dic
=
{
"k1"
:
"v1v1"
,
"k2"
: [
11
,
22
,
33
,
44
]}
PS:字典中的value只能是字符串或列表
|

1 def my_dict(dic): 2 for key in dic: 3 if len(dic[key]) > 2: 4 dic[key] = dic[key][0:2] 5 else: 6 continue 7 return dic 8 dic = {"k1": "v1v1", "k2": [11,22,33,44]} 9 res = my_dict(dic) 10 print(res)
8、寫函數,利用遞歸獲取斐波那契數列中的第 10 個數,並將該值返回給調用者。

1 def my_feb(n): 2 my_count = 0 3 arg1 = 1 4 arg2 = 1 5 for k in range(1,(n+1)): 6 if my_count < n and my_count >= 2: 7 my_count = my_count + 1 8 arg3 = arg1 + arg2 9 arg1 = arg2 10 arg2 = arg3 11 else: 12 my_count = my_count + 1 13 arg3 = 1 14 return arg3 15 res = my_feb(10) 16 print(res)