跳出无限循环

1 投票
1 回答
1389 浏览
提问于 2025-04-18 03:08

我的代码无法让我跳出无限循环,因此无法退出程序。以下是我的代码:

while True:
        print("\n1. Surname\n2. D.O.B\n3. Quit")
        try:
            select = int(input("Please select an option: "))
            if select == 1:
                surnameSearch()
            elif select == 2:
                DOB_search(BkRdr)
            elif search == 3:
                break
        except:
            print("That was an incorrect option, please try again:")

这是输入和输出的样子:

1. Surname
2. D.O.B
3. Quit
Please select an option: 3
That was an incorrect option, please try agan:

1. Surname
2. D.O.B
3. Quit
Please select an option: 

1 个回答

4

应该用 select 而不是 search

while True:
    print("\n1. Surname\n2. D.O.B\n3. Quit")
    try:
        select = int(input("Please select an option: "))
        if select == 1:
            surnameSearch()
        elif select == 2:
            DOB_search(BkRdr)
        elif select == 3:
            break
    except:
        print("That was an incorrect option, please try again:")

另外,我建议你用 else 语句,而不是一个通用的 except 条件,像这样:

while True:
    print("\n1. Surname\n2. D.O.B\n3. Quit")
    try:
        select = int(input("Please select an option: "))
    except ValueError:
        print("Not a valid input")
    else:
        if select == 1:
            surnameSearch()
        elif select == 2:
            DOB_search(BkRdr)
        elif select == 3:
            break
        else:
            print("That was an incorrect option, please try again:")

撰写回答