当输入无效数字时,停止程序输出其余代码

问题描述 投票:0回答:1

我想编写一次只输出一个问题的代码。

我有一个交互式代码,允许某人输入一定范围内的某些数字,即; “ 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)

python input output
1个回答
0
投票

然后您应该使用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): ')
© www.soinside.com 2019 - 2024. All rights reserved.