我想做一个代码,从输入中获取数字,直到数字变成"-1"(==-1)
然后用这些数字,我想取平均值。
所以我这样编码
我想知道为什么我的代码会出错
print("if u wanna quit inputting number, press '-1'")
print("="*60)
a=[]
while input()!=-1:
a.append(int(input()))
def avrg(*n):
summ=0
avrg=0
for i in n:
summ+=i
avrg=summ/len(n)
return avrg
b=avrg(a)
print(b)
即使我输入'-1'
,这个函数也不起作用
来自函数
input()
的用户输入始终是str
类型,因此您应该在比较if i==-1
之前将其转换为int
。 在while循环中,它继续使用用户输入,直到用户输入-1
。 可以通过内置函数sum
简单地计算列表的总和您可能不想在while条件和while循环中调用
input
。像这样的事情可能就是你想要的:而且,你的平均值比需要的要复杂一些。试试这个:
当然,如果不输入任何数字来求平均值,也就是除以0,就会遇到麻烦
相关问题 更多 >
编程相关推荐