count = 0
total = 0
while True:
inp = raw_input ('enter a number:')
if inp == 'done' : break
if len(inp) < 1 : break
num = float(inp)
count = count + 1
total = total + num
print num, total, count
print "average:", total/count
我的打印件没有显示平均值,我错过了什么吗?
答案 0 :(得分:1)
适用于Python 2。
enter a number: 5
5.0 5.0 1
enter a number: 9
9.0 14.0 2
enter a number: 7
7.0 21.0 3
enter a number: 0
0.0 21.0 4
enter a number: done
average: 5.25
您也可以使用numpy.mean。
答案 1 :(得分:0)
适用于python 3.5
count = 0
total = 0
while True:
inp=input('enter a number:')
if inp == 'done' : break
if len(inp) < 1 : break
num = float(inp)
count = count + 1
total = total + num
print (num, total, count)
print ("average:", total/count)
答案 2 :(得分:0)
您的代码运行正常。完成收集数据以显示平均值时,不要忘记在提示中输入done
!如果您希望每次输入新数字时显示平均值,只需在while True
循环内移动平均打印语句并将其保留在最后。
答案 3 :(得分:0)
我希望您在完成数字输入后忘记输入字符串done
。或者你可以按回车键,给它一个空输入。如上所述,代码仅用于在您完成这两件事之一后为您提供平均值。
如果您希望它在每次输入后显示运行平均值,请缩进最后一行代码(打印平均值的代码),以便它成为循环的一部分。