在定义一个函数之后,我们经常用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]