没有达到平均水平

时间:2016-11-14 19:34:33

标签: python while-loop

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

我的打印件没有显示平均值,我错过了什么吗?

4 个答案:

答案 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。或者你可以按回车键,给它一个空输入。如上所述,代码仅用于在您完成这两件事之一后为您提供平均值。

如果您希望它在每次输入后显示运行平均值,请缩进最后一行代码(打印平均值的代码),以便它成为循环的一部分。