Python__函數習題


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
View Code

 

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)
View Code

 

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','中文'])
View Code

 

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'])
View Code

 

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)
View Code

 

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'])
View Code

 

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)
View Code

 

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)
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM