为什么break语句没有退出while循环?

2024-05-09 22:02:41 发布

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

通常,break语句应该退出我的while循环。如果我输入'Stop',而不是退出循环,我只会再次被要求输入。我做错什么了? 我的目标是编写一个程序,询问用户是否有学生在场。我有一个问题,停止我的小程序时,我键入'停止'到我的输入,所以我在互联网上搜索,发现类似的东西系统出口(0)或退出,但这一切都不起作用,所以我把我的东西放入while循环,这样我就可以使用break停止任何时候我想停止我的代码,但我想我自己搞糊涂了。。。你知道吗

while True:
    #Schüler1
    while True:
        Schüler1 = input("Ist Schüler1 da?")
        if Schüler1 == 'Stop':
            break
        elif Schüler1 == 'Ja':
            s1 = 1
        elif Schüler1 == 'Nein':
            s1 = 0
        else:
            print("Bitte Ja, Nein oder Stop eingeben!")

        Schüler2 = input("Ist Schüler2 da?")
        if Schüler2 == 'Stop':
            print("Programm wird beendet...")
            break
        elif Schüler2 == 'Ja':
            s2 = 1
        elif Schüler2 == 'Nein':
            s2 = 0
        else:
            print("Bitte Ja, Nein oder Stop eingeben!")
    #Ausgabe
    #Kein Schüler
        if s1 + s2 == 0:
            print ("Es sind heute keine Schüler anwesend.")
        #1 Schüler
        elif s1 + s2 == 1:
            print ("Es ist heute ein Schüler anwesend.")

        #Mehr als 1 Schüler
        elif s1 + s2 > 1:
            print ("Es sind heute " + str(s1) + str(s2) + " Schüler anwesend.")

Tags: ifesstopprintbreaks2elifwhile