Python:查找数字平均值

我的任务是:“编写一个程序,该程序将不断询问用户一些数字。如果用户在不键入任何内容的情况下按回车/回车键,该程序将停止并打印给出的所有数字的平均值。应给出平均值。到小数点后两位。如果在任何时候输入0,则不应将其包括在平均值计算中”

我已经尝试了一段时间,但是当用户点击“ enter”或忽略0时,我无法弄清楚如何使程序按照我的指示执行。这是我当前的代码:

count = 0
sum = 0
number = 1
while number >= 0:
    number = int(input())
    if number == '\n':
        print ('hey')
        break
    if number > 0:
        sum = sum + number
        count= count + 1
    elif number == 0:
        count= count + 1
    number += 1
avg = str((sum/count))
print('Average is {:.2f}'.format(avg))
托马斯·布雷多

你很亲密!几乎所有的东西都是完美的!

这是一些更有效的pythonic代码。我已发表评论以解释更改:

count = 0
sum = 0
# no longer need to say number = 1
while True:  # no need to check for input number >= 0 here
    number = input()
    if number = '':  # user just hit enter key, input left blank
        print('hey')
        break
    if number != 0:
        sum += int(number)  # same as sum = sum + number
        count += 1  # same as count = count + 1
    # if number is 0, we don't do anything!
print(f'Average is {count/sum:.2f}')  # same as '... {:.2f} ...'.format(count/sum)

为什么您的代码不起作用:

当用户仅按Enter键而不是键入数字时,该input()函数不会返回'\n',而是返回''

我真的希望这可以帮助您学习!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章