使用python通过用户输入在循环中的任意点终止while循环

2024-06-16 10:32:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望用户能够通过输入stop或其他键盘输入来终止嵌套循环。用户被要求输入一个选项a到g,然后输入8个if语句,下面是我为第一个if语句编写的代码。。。你知道吗

if option == "a":
    while True:
        try:
            name = input('\nEnter the students name: ')
            cm = input('Coursework mark: ')
            em = input('Exam mark: ')
            student = (name,cm,em)
            database.append(student)
        except :
            break

我有使用try和except函数的想法,但我不知道如何或如果这将工作,请帮助!你知道吗


Tags: 用户nameinputif选项cm语句student
2条回答

您可以检查每次输入的值,如果它与您的关键字匹配(或在关键字列表中),则break。你知道吗

if option == "a":
    while True:
        name = input('\nEnter the students name: ')
        if name == 'stop':
            break
        cm = input('Coursework mark: ')
        if cm == 'stop':
            break
        em = input('Exam mark: ')
        if em == 'stop':
            break
        student = (name,cm,em)
        database.append(student)

要检查停止关键字列表,可以执行以下操作

stop_kws = ['stop', 'exit', 'quit']

...

if name in stop_kws:
    break

... 

如果您担心键盘中断(例如Ctr+c或Delete),可以使用built-in Exception KeyboardIntertupt。这会让你优雅地失败:

if option == "a":
    try:
        name = input('\nEnter the students name: ')
        cm = input('Coursework mark: ')
        em = input('Exam mark: ')
        student = (name,cm,em)
        database.append(student)
    except KeyboardInterrupt as e:
        #
        # do something 
        #
        break

这将防止循环因中断请求而崩溃。你知道吗

相关问题 更多 >