以下代码是查找给定输入数字集合的平均值。python 3.2中的奇怪错误
#!/usr/bin/env python3
print("Enter some integers")
count = 0
total = 0
while True:
line = input("integer: ")
if (line):
try:
number = int(line)
except ValueError as err:
print(err)
continue
total += number
count += 1
#print("Post",line)
else:
break
if count:
print('Count is ',count ,'Total is ',total,'Mean is ',total/count)
但是,每当我运行程序,偶数输入给了我,即使我进入了一些错误。以下是示例输出。
Enter some integers
integer: 4
integer: 5
invalid literal for int() with base 10: 'integer: 5'
integer: 5
integer: 6
invalid literal for int() with base 10: 'integer: 6'
integer:
Count is 2 Total is 9 Mean is 4.5
但是,如果我取消else:语句之前的行注释,此代码正常工作。谁能告诉我这里发生了什么?
在此先感谢。
你确定这是产生这个错误的代码吗? – hop 2011-04-07 06:14:09
你可能想尝试抓住PEBKAC :)它似乎工作正常。我在Python 3.2下测试它(r32:88445,2011年2月21日,01:55:53)。 – 2011-04-07 07:11:13
测试你的代码,它的工作原理。 – TheDude 2011-04-07 17:48:13