以下代碼是查找給定輸入數字集合的平均值。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