我是Python的新编码,我试图编写一个循环,要求输入数字并读取它直到用户输入"完成",它会在哪里然后退出循环并打印变量:number,count和average。 (不要试图在列表中存储任何东西)
我也想要它打印"无效输入"如果用户输入任何不是整数的东西,则继续循环,除非其完成"。
不幸的是,它会返回"输入无效"并且即使我进入"完成"也会保持循环。我究竟做错了什么?有人能指出我正确的方向吗?
number = 0
count = 0
avg = 0
inp = 0
while True:
try:
inp = int(raw_input('Enter a number: '))
if inp is 'done':
number = number + inp
count = count + 1
avg = float(number/count)
break
except:
print 'Invalid input'
print number
print count
print float(avg)
答案 0 :(得分:0)
sum = 0.0
count = 0
while True:
inp = raw_input('Enter a number: ')
if inp == 'done':
break
try:
sum += int(inp)
count += 1
except ValueError:
print 'Invalid input'
print sum
print count
if count != 0: # Avoid division by zero
print sum / count