编写代码的基本任务,可以从用户那里找到 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 = ..."
我将如何实现这一目标?
您可以输出错误消息并提示重新输入i第 th 个号码,方法是在循环中提示输出错误消息并重新提示用户输入错误。这可以通过处理ValueError当函数的输入是无效的整数对象字符串初始值设定项时引发的异常来完成,int()例如"1sd". 这可以通过捕获该异常、输出Invalid input. Try again.并在发生时继续来完成。
i
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