【发布时间】:2019-11-26 06:03:13
【问题描述】:
我正在尝试接收必须介于 2 和 10 之间的用户输入,然后如果输入实际上介于 2 和 10 之间,则返回一条消息。
我正在努力解决的问题:
如果用户输入的不是数字,我会得到一个 ValueError
我是如何解决的:
我使用 try except finally 方法。
我无法解决的问题:
当用户第一次输入一个字母时,它会弹出 try: 但如果用户第二次输入一个字母,它会再次报错。
如何制作这个循环,以便用户可以根据需要给出尽可能多的错误答案,并在输入 2 到 10 之间的值后将其送到最终目的地?
到目前为止我的代码
try:
user_input = input("give a number between 2 and 10: ")
while 10 < int(user_input) or int(user_input) < 2:
user_input = input("No no, a number between 2 and 10!: ")
except ValueError:
print(f"That wasn\'t a number! Try again.")
user_input = input("give a number between 2 and 10: ")
while 10 < int(user_input) or int(user_input) < 2:
user_input = input("No no, a number between 2 and 10!: ")
finally:
print("Good, welcome to the dark side.")
不胜感激!
谢谢。
【问题讨论】:
-
为什么你只想为此使用try-exception?
标签: python-3.x loops try-catch