它是用python 3编写的。代码试图将所有输入整数存储到列表中并找到最小值,最大值和平均值。是什么导致输出平均值出错?
while
输出结果为:
from statistics import mean, median
def main():
integers = []
integer = 0
while (1):
input_str = input('Enter a value (0 to end): ')
try:
integer = int(input_str)
except ValueError:
print('Invalid input. Type a legit integer.')
if integer == 0:
if integers == []:
print('No integer stored.')
else:
print('Min: {0}\nMax: {1}\nAvg: {2:.1f}\n'.format(min(integers),max(integers),sum(integers)/len(integers)))
break
elif integer >= -65535 and integer <= 65535:
integers.append(integer)
else:
print('The integer is out of range.')
main()
答案 0 :(得分:0)
当您遇到错误时,您应该忽略下一个代码段并避免执行下一行,否则您将继续运行下一行并且意外发生的事情。
所以你应该在ValueError
发生时添加代码 jump 。
try:
integer = int(input_str)
except ValueError:
print('Invalid input. Type a legit integer.')
continue #important