在定義一個函數之後,我們經常用return函數來返回一個結果證明自己,寫的函數時正確的。但是return有個特點就是,一旦執行這個函數也就結束了,所以使用return的時候,一定要注意它的這個性質。下面是我沒有注意return一旦執行,函數就結束的性質犯下的錯誤:
練習題:寫一個函數,可以設定不定個數的形參,將形參中的奇數,作爲返回結果形參中也會傳入小數,字符串等類型
例如:x 1 2 3 4 5.1 s 返回1和3
例如:x 1 2 3 4 5.1 s 返回1和3
未注意return執行後函數就結束的性質的程序:
#coding=utf-8
def return_odd_nummber(*L):
#L=input("Please input anything you want :")
#list=[]
for i in L:
if isinstance(i,int):
#return None
if i%2==1:
return i
print(return_odd_nummber(1,2,3,4,5,5.1,'s'))
def return_odd_nummber(*L):
#L=input("Please input anything you want :")
#list=[]
for i in L:
if isinstance(i,int):
#return None
if i%2==1:
return i
print(return_odd_nummber(1,2,3,4,5,5.1,'s'))
輸出結果:
D:\python-2018-06-29\exercise>python odd-number.py
1
1
正確的做法:
#coding=utf-8
def return_odd_nummber(*L):
#L=input("Please input anything you want :")
list=[]
for i in L:
if isinstance(i,int):
#return None
if i%2==1:
list.append(i)
return list
print(return_odd_nummber(1,2,3,4,5,5.1,'s'))
D:\python-2018-06-29\exercise>python odd-number.py
[1, 3, 5]
[1, 3, 5]