Python Return 语句输出错误

问题描述 投票:0回答:1
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 如果我错了请帮助我

这是一个返回语句程序 但是,它向我展示了不同的输出

python function return
1个回答
0
投票

你回来得太早了。您查看第一个数字

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 )
© www.soinside.com 2019 - 2024. All rights reserved.