Referenzseite: [Einführung in Python] So stoppen Sie die Schleife mit break?
Es gibt zwei Arten von Python-Schleifenanweisungen: for-Anweisung und while-Anweisung. Die for-Anweisung wiederholt den Prozess eine bestimmte Anzahl von Malen, und die while-Anweisung wiederholt den Prozess, während eine bestimmte Bedingung erfüllt ist. Es ist eine praktische Syntax, die denselben Vorgang wiederholt, ohne ihn immer wieder eingeben zu müssen, aber manchmal möchten Sie die Schleifenanweisung in der Mitte verlassen. In einem solchen Fall können Sie die break-Anweisung verwenden, um den Prozess zu unterbrechen und die Schleifenanweisung zu verlassen. Dieses Mal werde ich erklären, wie die break-Anweisung verwendet wird.
Wenn Sie die Schleifenverarbeitung in der Mitte beenden möchten, können Sie die if-Anweisung verwenden, um sie pseudo zu realisieren. Angenommen, Sie möchten die Elemente einer Schleife untersuchen und Code schreiben, der zu einem Fehler führt, wenn eine Zahl größer als 100 vorhanden ist.
list1 = [24, 55, 32, 65, 74, 120, 72, 67]
loop_flag = 0
for num in list1:
if(loop_flag == 0):
if(num < 100):
print(num)
else:
loop_flag = 1
if(loop_flag == 1):
print('Fehler: Ungültige Nummer gefunden')
Ausführungsergebnis
24 55 32 65 74 Fehler: Ungültige Nummer gefunden
In diesem Beispiel wird ein Flag (loop_flag) für die Fortsetzung der Schleife vorbereitet. Wenn eine Zahl angezeigt wird, die die Bedingung erfüllt, wird das Flag auf 1 gesetzt, damit die Verarbeitung in der Schleife nicht ausgeführt wird. Diese Methode scheint auf den ersten Blick die Schleife zu durchbrechen, ist aber in Wirklichkeit sehr verschwenderisch und der Code ist lang, nur um nichts in der Mitte zu tun. Verwenden Sie in diesem Fall die break-Anweisung.
list1 = [24, 55, 32, 65, 74, 120, 72, 67]
for num in list1:
if(num >= 100):
print('Fehler: Ungültige Nummer gefunden')
break
print(num)
Ausführungsergebnis
24 55 32 65 74 Fehler: Ungültige Nummer gefunden
Das Ausführungsergebnis ist genau das gleiche wie zuvor, aber die Verwendung von break ist kürzer und leichter zu erkennen. Die break-Anweisung wird hauptsächlich mit der if-Anweisung in der loop-Anweisung verwendet. Wenn eine bestimmte Bedingung in der if-Anweisung erfüllt ist, wird die break-Anweisung verwendet, um die Schleife in der Mitte zu unterbrechen und auszubrechen. Die gesamte Syntax nach der break-Anweisung wird übersprungen. Wenn Sie also eine Fehleranweisung usw. anzeigen, schreiben Sie sie vor der break-Anweisung.
Es ist eine break-Anweisung, die die Schleife in der Mitte durchbricht, aber natürlich kann sie auch in einer while-Anweisung verwendet werden.
list1 = [24, 55, 32, 65, 74, 120, 72, 67]
index = 0
while(index < len(list1)):
if(list1[index] >= 100):
print('Fehler: Ungültige Nummer gefunden')
break
print(list1[index])
index += 1
Ausführungsergebnis
24 55 32 65 74 Fehler: Ungültige Nummer gefunden
Ich habe die for-Anweisung durch eine while-Anweisung ersetzt, aber die Verwendung der break-Anweisung ist dieselbe. Das Ergebnis wird natürlich das gleiche sein.
Wie die if-Anweisung haben auch die Python for- und while-Anweisungen else-Klauseln. Die else-Klausel der Schleifenanweisung wird ausgeführt, wenn die Iteration erfolgreich beendet wird. Wenn Sie beispielsweise eine Nachricht anzeigen möchten, die Sie darüber informiert, dass die Schleifenanweisung beendet wurde, nachdem Sie die Schleifenanweisung durchlaufen haben, gehen Sie wie folgt vor:
list1 = [24, 55, 32, 65, 74, 120, 72, 67]
index = 0
for num in list1:
print(num)
else:
print('Die Schleife ist abgeschlossen.')
Ausführungsergebnis
24 55 32 65 74 120 72 67 Die Schleife ist abgeschlossen.
Dies ist eine sehr praktische else-Klausel, da sie nur einmal im selben Schleifenblock verarbeitet werden kann, aber nicht ausgeführt wird, wenn die break-Anweisung die Schleife durchbricht.
list1 = [24, 55, 32, 65, 74, 120, 72, 67]
index = 0
for num in list1:
if(num >= 100):
print('Fehler: Ungültige Nummer gefunden')
break
print(num)
else:
print('Die Schleife ist abgeschlossen.')
Ausführungsergebnis
24 55 32 65 74 Fehler: Ungültige Nummer gefunden
Wie in den vorherigen Beispielen tritt ein Fehler auf, wenn eine Anzahl von 100 oder mehr gefunden wird, und die Schleife wird unterbrochen. Dann wird die letzte else-Klausel nicht ausgeführt und die Meldung "Schleife abgeschlossen" wird nicht angezeigt.
Wenn Sie break und else verwenden, können Sie leicht "feststellen, ob Sie defekt sind oder nicht, und einen bestimmten Prozess nur dann ausführen, wenn dies nicht der Fall ist".
Bereiten Sie normalerweise eine Variable vor, um festzustellen, ob sie beschädigt ist, und überprüfen Sie den Inhalt der Variablen mit der if-Anweisung, um festzustellen, ob sie beschädigt ist. Es ist ein Ärger, weil es nutzlose Variablen erhöht. Wenn es sich um eine else-Klausel handelt, müssen Sie die auszuführende Verarbeitung nur schreiben, wenn keine Unterbrechung vorliegt. Sie benötigen keine nutzlosen Variablen oder if-Anweisungen.
Recommended Posts