1. 程式人生 > >Python開發【第xxx篇】 函數習題

Python開發【第xxx篇】 函數習題

else 實參 () jdi 所有 執行 alt one isspace

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

# ######### 定義函數 ######### 

# name 叫做函數func的形式參數,簡稱:形參
def func(name):
    print name

# ######### 執行函數 ######### 
#  ‘wupeiqi‘ 叫做函數func的實際參數,簡稱:實參
func(wupeiqi)

def func(name, age = 18):
    
    print "%s:%s" %(name,age)

# 指定參數
func(wupeiqi, 19)
# 使用默認參數
func(alex
) 註:默認參數需要放在參數列表最後 def func(*args): print args # 執行方式一 func(11,33,4,4454,5) # 執行方式二 li = [11,2,2,3,3,4,54] func(*li) def func(**kwargs): print args # 執行方式一 func(name=wupeiqi,age=18) # 執行方式二 li = {name:wupeiqi, age:18, gender:male} func(**li) def func(*args, **kwargs):
print args 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])
View Code

7、寫函數,檢查傳入字典的每一個value的長度,如果大於2,那麽僅保留前兩個長度的內容,並將新內容返回給調用者。

技術分享
 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

Python開發【第xxx篇】 函數習題