for, continue, break Erläutern Sie den Ablauf der iterativen Verarbeitung in Python3-Teil 1

Nachdem ich mit dem Programmieren begonnen hatte, gelang es mir, einfache for- und while-Anweisungen zu schreiben, aber ...

** Aussage fortsetzen? break Anweisung? Wie benutzt man es? ?? ** ** ** ** Doppelschleife? ?? Dreifachschleife? ?? Und was passiert mit der Verarbeitungsreihenfolge, wenn die if-Anweisung hinzugefügt wird? ?? ?? ** ** **

Es ist meine Studienakte, die stecken geblieben ist.

Teil 1 befasst sich mit einzelnen Schleifen (für, wenn, weiter, break-Anweisungen). Schließlich kommt eine kleine Doppelschleife als Bonus heraus. (Ich habe versucht, eine Doppel- / Dreifachschleife zu schreiben, aber sie war zu lang, also mache ich es das nächste Mal. Schweiß)

Alle folgenden Programme sind auf der linken Seite nummeriert, um das Verständnis des Codeleseflusses zu erleichtern. Wenn Sie die Funktionsweise des Programms überprüfen möchten, geben Sie es bitte selbst ein. Es ist ein Ärger, aber es ist eine gute Studie. (Ich mache es während der Überprüfung, aber es tut mir leid, wenn ich einen Fehler mache)

Einfache Wiederholung

1.1 für Satz

01 for i in range(4):
02     print(i)

Ausführungsergebnis

0
1
2
3

Beginnen wir mit einer einfachen for-Anweisung. Wenn Sie das obige Programm ausführen, können Sie sehen, dass der Vorgang von 1 → 2 → 1 → 2 → 1 → 2 → 1 → 2 wiederholt wird. (Nachfolgend → weggelassen) Verarbeitungsauftrag: 12121212

1.2 für + if-Anweisung

1 for i in range(4):
2     if i < 2:
3         print(i)

Ausführungsergebnis

0
1

Es geht zu 123123, aber da "i = 2" und 2 zu "i <2 == False" werden, wird der Prozess von 3 nicht ausgeführt. Gleiches gilt für das nächste "i = 3". Verarbeitungsauftrag: 1231231212

Aber was ist, wenn es hier eine andere Aussage gibt?

1.3 für + if + else-Anweisung

1 for i in range(4):
2     if i < 2:
3         print(i)
4     else:
5         print('a')

Ausführungsergebnis

0
1
a
a

Es ist bis zur Mitte dasselbe, aber es kehrt nicht an der Stelle zu 1 zurück, an der der Prozess von 3 nicht früher ausgeführt wurde, und fährt mit 45 fort. Verarbeitungsauftrag: 123123124451245

Als nächstes setzen Sie eine continue-Anweisung anstelle von else

1.4 für + if + continue-Anweisung

1 for i in range(4):
2     if i < 2:
3         print(i)
4         continue
5     print('a')

Ausführungsergebnis

0
1
a
a

Das Programm war anders, aber das Ergebnis war das gleiche. (Die Person, die es geschrieben hat, war auch überrascht !?) Die Reihenfolge der Verarbeitung ist jedoch unterschiedlich. Wenn die continue-Anweisung ausgeführt wird, wird die Wiederholung unter der continue-Anweisung übersprungen. Im Fall des obigen Programms wird der "Druck (" a ")" von 5 nicht ausgeführt. Verarbeitungsauftrag: 12341234125125

Was ist übrigens das Ausführungsergebnis, wenn nur die continue-Anweisung des obigen Programms gelöscht wird? Dies ist ein Bonus. Wenn Sie möchten, denken Sie bitte darüber nach oder führen Sie das Programm selbst aus.

1.4 Bonus: Wenn Sie die Continue-Anweisung löschen ...

1 for i in range(4):
2     if i < 2:
3         print(i)
4     print('a')

Ausführungsergebnis

0
a
1
a
a
a

Wie war es, war es wie erwartet? In 1.4 wurde "print (" a ")", das von der continue-Anweisung übersprungen wurde, immer ausgeführt. Wie Sie sehen können, ist die continue-Anweisung nützlich, wenn Sie ein Programm haben, das Sie unter bestimmten Bedingungen nicht verarbeiten möchten. Verarbeitungsauftrag: 12341234124124

1.5 für + if + break-Anweisung

1 for i in range(4):
2     if i < 2:
3         print(i)
4         break
5     print('a')

Ausführungsergebnis

0

Als nächstes folgt die break-Anweisung. Ich habe gerade die continue-Anweisung in 1.4 in eine break-Anweisung geändert Das Ausführungsergebnis hat sich gegenüber 1.4 erheblich verändert. Wenn Sie mit 123 fortfahren und die break-Anweisung von 4 ausführen, wird die Schleifenverarbeitung zwangsweise beendet. Es sollte also 4 Mal wiederholt werden, aber es endete in 1 Mal. Bearbeitungsauftrag: 1234

Schließlich werde ich als Bonus vorstellen, was passiert, wenn sich eine break-Anweisung in einer Doppelschleife befindet, und sie beenden.

1.5 Bonus 1 Doppelschleife (für + if-Anweisung)

1 for i in range(4):
2     if i < 2:
3         print(i)
4         for j in range(2):
5             print(j+10)

Ausführungsergebnis

0
10
11
1
10
11

Überprüfen Sie zunächst die grundlegende Doppelschleife. 1 für i in Bereich (4): weiter innerhalb der for-Anweisung von Wenn es eine for-Anweisung von für j in Bereich (2) gibt: von 4. Die Reihenfolge der Verarbeitung geht zu 123 und wird zu 4545, wo sie zu 1 zurückkehrt.

Mit anderen Worten, nachdem die gesamte Verarbeitung der inneren Schleife abgeschlossen ist, kehrt sie zur Verarbeitung der äußeren Schleife zurück.

Und wie zuvor wird 3 nicht ausgeführt, wenn 2 zu "i <2 == False" wird. Verarbeitungsauftrag: 12345545123445512212

Als nächstes befindet sich eine break-Anweisung in der Doppelschleife des Hauptthemas.

1.5 Bonus 2 Doppelschleife (für + if + break-Anweisung)

1 for i in range(4):
2     if i < 2:
3         print(i)
4         for j in range(2):
5             print(j+10)
6             break

Ausführungsergebnis

0
10
1
10

Ich habe gerade break am Ende der Double-Loop-Anweisung hinzugefügt. Wenn sich die break-Anweisung in der äußeren Schleife befindet, ist das Ergebnis dasselbe wie 1.5, daher habe ich es in die innere for-Anweisung eingefügt.

Gehen Sie wie zuvor zu 12345 und führen Sie die break-Anweisung bei 6 aus. Dann lautet die break-Anweisung Beendet die Verarbeitung der inneren Schleife gewaltsam.

Gehen Sie dann zurück zur äußeren Schleife und fahren Sie mit 123456 fort, um zu 1 zurückzukehren. Und wenn 2 zu "i <2 == False" wird, wird 3 nicht ausgeführt. Verarbeitungsauftrag: 12345612345612112

Schließlich

Vielen Dank für das Lesen dieses Artikels. Ich hoffe es hilft dir sogar ein wenig. Da dies mein erster Artikel war, war es an vielen Stellen möglicherweise schwierig, ihn zu lesen. In diesem Fall lassen Sie es mich bitte in den Kommentaren wissen. Es wird sehr hilfreich sein, da es zur nächsten Überlegung führen wird.

Eigentlich wollte ich über die while-Anweisung schreiben, ** 'Es ist nicht viel anders als der Satz, du musst ihn nicht schreiben' ** Das denke ich nicht. Entschuldigung für den Mangel an Lernschweiß

** Bitte beziehen Sie sich auf dieses Zitat für die ordnungsgemäße Verwendung von 'for-Anweisung und while-Anweisung! Lerne nicht mehr! !! '** Tsukkomi ist willkommen. Danke für Ihre Kooperation.

Dieser Artikel basiert auf den folgenden Websites.

http://www.yamamo10.jp/yamamoto/comp/Python/loop/index.php

Recommended Posts

for, continue, break Erläutern Sie den Ablauf der iterativen Verarbeitung in Python3-Teil 1
Zeigen Sie das Ergebnis der Geometrieverarbeitung in Python an
Bildverarbeitung? Die Geschichte, Python für zu starten
Überprüfen Sie, ob in Java BigQuery-Tabellen vorhanden sind
[Für Anfänger] Ich möchte die Anzahl der Lernerfahrungen leicht verständlich erklären.
Überprüfen Sie die Funktionsweise von Python für .NET in jeder Umgebung
Ermitteln Sie die Anzahl der Vorkommen für jedes Element in der Liste
Die Bildanzeigefunktion von iTerm ist praktisch bei der Verarbeitung von Bildern.
Google sucht mit Python nach der Zeichenfolge in der letzten Zeile der Datei
Erläutern Sie den Code von Tensorflow_in_ROS
[Python] Iterative Verarbeitung (für, während)
Wrap (Teil der) AtCoder Library in Cython zur Verwendung in Python
Echtzeitanzeige des serverseitigen Verarbeitungsfortschritts im Browser (Implementierung des Fortschrittsbalkens)
Erklären Sie detailliert den magischen Code für IQ Bot-Tabellenelemente
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
Dockerfile mit den notwendigen Bibliotheken für die Verarbeitung natürlicher Sprache mit Python
Papier: Intrazerebrale Verarbeitung von Musik
Die Geschichte des "Lochs" in der Akte
Annäherungserklärung für Anfänger, um in Kaggle Titanic_3 unter den besten 1,5% (0,83732) zu sein
[Ota Ward] Überprüfen Sie den Status der Antragsbearbeitung auf besondere Pauschalleistungen
Richtlinien für die Reinkarnation in der Welt der Linux-Programmierentwicklung (C / C ++ - Sprache)
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Annäherungserklärung für Anfänger, um in Kaggle Titanic_1 unter den besten 1,5% (0,83732) zu sein
Holen Sie sich den Schlüssel für die Migration von JSON-Daten auf der zweiten Ebene mit Python
Annäherungserklärung für Anfänger, um in Kaggle Titanic_2 unter den besten 1,5% (0,83732) zu sein