小编典典

Average and Sums Task

all

编写代码的基本任务,可以从用户那里找到 10 个数字的总和和平均值。

到目前为止我目前的情况:

Sum = 0
print("Please Enter 10 Numbers\n")
for i in range (1,11):
    num = int(input("Number %d =" %i))
sum = Sum + num
avg = Sum / 10

但是,我想这样做,以便如果用户输入诸如“数字 2 = 1sd”之类的答案,它不会立即停止代码。相反,我正在寻找它以响应“无效输入。再试一次”,然后它从失败的输入重新启动。

例如

"Number 2 = 1sd"
"Invalid input. Try again."
"Number 2 = ..." 

我将如何实现这一目标?


阅读 67

收藏
2022-08-15

共1个答案

小编典典

您可以输出错误消息并提示重新输入i第 th 个号码,方法是在循环中提示输出错误消息并重新提示用户输入错误。这可以通过处理ValueError当函数的输入是无效的整数对象字符串初始值设定项时引发的异常来完成,int()例如"1sd". 这可以通过捕获该异常、输出Invalid input. Try again.并在发生时继续来完成。

一种可能满足您要求的结果代码是:

Sum = 0
print("Please Enter 10 Numbers\n")
for i in range (1,11):
    num = None
    while num is None:
        try:
            num = int(input("Number %d =" %i))
        except ValueError:
            print('Invalid input. Try again.')
sum = Sum + num
avg = Sum / 10
2022-08-15