为什么这样缩进答案不一样?
def average(*args): sum = 0.0 if len(args) == 0: return sum for x in args: sum = sum + x return sum/len(args) print average() print average(1, 2) print average(1, 2, 2, 3, 4)
只有line 7 return 的缩进跟答案不一致
这样的答案是 0.0,0.5,0.2
为什么这样缩进答案不一样?
def average(*args): sum = 0.0 if len(args) == 0: return sum for x in args: sum = sum + x return sum/len(args) print average() print average(1, 2) print average(1, 2, 2, 3, 4)
只有line 7 return 的缩进跟答案不一致
这样的答案是 0.0,0.5,0.2
为什么这样缩进答案不一样?
2019-07-20
因为你在for循环中,args的第一个元素计算了sum=sum+x,后面直接return返回了,只要第一个return返回成功,后面的循环将不再进行,所以在这个例子里实际上是用了1/5=0.2,我的理解是这样,不知道对不对,可以参考下面的例子,来自简书的“凡人求索”:
def func1(): for i in range(1, 5): print (i) def func2(): for i in range(1, 5): return (i) func1() print ("..............") print (func2()) 输出结果 1 2 3 4 .............. 1
不是打广告,我也是刚开始学习的小白
举报