所以我理解了这个简单的 for
循环:
sum = 0
for number in {1,2,3,4}:
sum = sum + number
print sum
>>>
1
3
6
10
>>>
然后这是一个简洁的小代码,结合了 for
循环和我在互联网上找到的函数:
def sum_list(l):
sum = 0
for number in l:
sum = sum + number
return sum
print sum_list([1, 7, 4])
>>>
12
我不明白的是 python 如何解释这段代码(而是 Python 如何知道将 3 个参数 1、7、4 加在一起)。
如果你能帮我分解它,我真的会帮忙!
提出另一个问题让你们回顾:
sum = 0
for number in {1,2,3,4}:
sum = sum + number
return sum
吐出一个错误。 print sum
会将结果列为 1,3,6,10
错误说:Syntaxerror: 'return' outside of function
[编辑] @sshashank124
例如:这段代码吐出 3 个答案。它打印出:
sum = 0
for number in {1,7,4}:
sum = sum + number
print sum
>>>
1
8
12
>>>
但是这个:
def sum_list(l):
sum= 0
for number in l:
sum = sum + number
print sum
print sum_list([1, 7, 4])
>>>
12
none
只吐出 1 个答案,12
。我的问题是为什么会这样。
最佳答案
for number in l:
这会遍历 l
,并且 number
将在每次迭代中包含 l
的每个元素。你可以这样检查
for number in l:
print number
# 1
# 7
# 4
您正在将这些数字添加到 sum
变量中。你可以这样检查
sum = 0
for number in l:
sum = sum + number
print sum
# 1
# 8
# 12
我相信您这样做是出于教育目的。如果你真的想找到一个迭代的总和,那么你可以使用内置的 sum
函数,像这样
sum([1, 7, 4])
关于Python - 解释函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22677345/