它是用python3编写的。代码试图将所有输入整数存储到一个列表中,并找到最小值、最大值和平均值。是什么导致这里的输出平均值出错?你知道吗
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()
输出为:
Enter a value (0 to end): 110
Enter a value (0 to end): 60
Enter a value (0 to end): abc
Invalid input. Type a legit integer.
Enter a value (0 to end): 50
Enter a value (0 to end): 90
Enter a value (0 to end): 40
Enter a value (0 to end): hanbagui
Invalid input. Type a legit integer.
Enter a value (0 to end): 0
Min: 40
Max: 110
Avg: 64.3
当您遇到错误时,应该忽略下一个代码段并避免执行下一行,否则您将继续运行下一行并意外地发生一些事情。你知道吗
所以当
ValueError
发生时,您应该添加代码dojump。你知道吗相关问题 更多 >
编程相关推荐