繁体   English   中英

摆脱无限循环

[英]Breaking out of infinite loop

我的代码不允许我跳出无限循环,因此退出程序。 这是我的代码:

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: 

应该selectsearch

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:")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM