python 第016讲代码怎么出了问题,为什么这个怎么都是第一个数字
下面这个代码已经差不多了,已经可以跳过那些字符串的东西,可以把其中的整形和浮点型的相加了,并且跳过不是可以相加的类型。但是在计算上这边为什么会只显示第一个数字了。希望有小伙伴可以帮我分析一下,这个到底是什么原理。
def sum(x):
result=0
for each in x:
if(type(each)==int)or(type(each)==float):
result+=each
else:
continue
return result
print(sum())
因为你 return 写在了 for 循环内部,导致第一次循环就返回数值了,将 return 删一个缩进即可,参考代码:
def sum(x):
result = 0
for each in x:
if (type(each) == int) or (type(each) == float):
result += each
else:
continue
return result
print(sum()) 楼上正解 Python对缩进有严格要求。错就错在return语句不能在循环之内。 return减一个缩进就行 return那一行缩进有问题
页:
[1]