2017-10-06 98 views
0

我正在编写此函数,我似乎很接近。问题是即使我已经定义了y = 0,当第一次循环迭代运行时,y被返回为10.它似乎从列表中的第一个数字开始拉,因为当我改变它时,i和y更改。函数传递一个数字列表并返回每次迭代的数字平均值

def Meanlist(x): 
    y = 0 
    z = 1 
    for i in x:   
     y += i 
     Avg=(y+i)/z 
     print('For Iteration', z, 'Average is', Avg) 
     print('For Iteration', z, 'i is', i) 
     print('For Iteration', z, 'y is', y) 
     z+=1 
L1 = [10, 56.7, 56, 89, 100, 99, 87.5, 34, 985, 10] 
Meanlist(L1) 

这是为第一次迭代返回这些值。我在做什么错误?其他一切似乎都与这个功能一起工作。

迭代1平均为20.0 迭代1我是10 迭代1 y是10

回答

0

您在循环做的第一件事是

y += i

在第一次迭代中,y是0但是我等于10,因此在做完“y + = i”之后,y等于10. 然后你做:

Avg=(y+i)/z

因为y等于10,(Y + I)等于20

+0

这非常有意义!感谢您帮助初学者! –

相关问题