|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:视频中我们说 sum() 这个BIF有个缺陷,就是如果参数里有字符串类型的话就会报错,请写出一个新的实现过程,自动“无视”参数里的字符串并返回正确的计算结果
以下是我写的代码:
list1 = [1,2,3,5,8,9]
for each in list1:
if (type(each) == int) or (type(each) == float):
result += each
else:
continue
return result
print(result)
结果运行的时候,报错,显示:“return” outside function。
不太明白是为什么。
还有return的作用是什么?为什么在小甲鱼的答案中,return那一行会和上面的空一行?
1.def sum(x):
2.    result = 0
3.    
4.    for each in x:
5.        if (type(each) == int) or (type(each) == float):
6.            result += each
7.        else:
8.            continue
9.
10.    return result
11.
print(sum([1, 2.1, 2.3, 'a', '1', True]))
希望各位大佬帮忙解答
本帖最后由 BngThea 于 2018-2-7 17:07 编辑
你的代码中return不对,只能在函数中使用,请初始化result
return 中函数中使用,表示函数最终的返回结果,前面空一行是为了美观,不空也没关系
需要注意的是:
1 return只能在函数中使用
2 函数执行到return以后,整个函数就结束了,其后面的代码(如果有的话)将不被执行
|
|