我想编写一次只输出一个问题的代码。
我有一个交互式代码,允许某人输入一定范围内的某些数字,即; “ 0-3”。
但是,大约有5个问题提示用户输入数字。
因此,如果有人要输入问题1:“ 4”,则输出仍将显示以下问题。但是,如果发生这种情况,我希望它显示“无效数字!再试一次”。
是否有特定的代码可以阻止这种情况的发生?
我到目前为止:
if inp == 0:
out = "Beginner"
elif inp == 1:
out = "Intermediate"
elif inp == 2:
out = "Advanced"
else:
f=1
if f > 3:
print('Invalid input!')
return
((其余代码在需要时使用return)
然后您应该使用while
循环并在用户未选择有效输入的情况下继续显示问题:
def display_question(sentence,
choices=['Beginner', 'Intermediate', 'Advanced']):
again = True
while again:
inp = input(sentence).strip()
# Check if the user entered a digit
if inp.isdigit():
user_number = int(inp)
if user_number >= 0 and user_number < len(choices):
print("Your choice is {}".format(choices[user_number]))
return choices[user_number]
# If the input is not valid, display error message and retry
print('Invalid input! Try again')
display_question('Make your choice (0: Beginner, 1: Intermediate, 2: Advanced): ')