我的任务是:“编写一个程序,该程序将不断询问用户一些数字。如果用户在不键入任何内容的情况下按回车/回车键,该程序将停止并打印给出的所有数字的平均值。应给出平均值。到小数点后两位。如果在任何时候输入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] 删除。
我来说两句