def avg(*numbers):
sum = 0
for i in numbers:
sum = sum + i
return sum / len(numbers)
c = avg( 8, 5, 1, 6, 7, 8, 4, 9)
print( c )
这向我展示了输出 = 1 但是,应该是6 如果我错了请帮助我
这是一个返回语句程序 但是,它向我展示了不同的输出
你回来得太早了。您查看第一个数字
8
,将其添加到 sum
,然后立即返回 8 / 8
(列表的长度恰好为 8,与第一个元素的值相同)。您永远不会迭代列表的其余部分。
return
语句应该位于循环之后,以便每个数字都会添加到sum
。
def avg(*numbers):
sum = 0
for i in numbers:
sum = sum + i
return sum / len(numbers)
c = avg( 8, 5, 1, 6, 7, 8, 4, 9)
print( c )