If ohne Else was passiert?
Lerne gerade Python und frage mich was passiert wenn ich zbs in einem for loop ein if definiere aber kein else
wenn die if Bedingung nicht gegeben ist
wird der loop dann wiederholt sobald das if erfüllt wird oder einfach direkt
Entschuldigt die Anfänger frage habe diese Woche angefangen
5 Antworten
für jeden durchgang wird überprüft ob die voraussetzung für if erfüllt ist
-wenn ja, wird zuerst das was in if ist ausgeführt und dann das was außerhalb if aber innerhalb for loop ist ausgeführt
wenn nein, wird nur das was außerhalb if aber innerhalb loop ist, ausgeführt
Eine Schleife hat mehrere Iterationen (Durchläufe), die du definierst.
Sagen wir mal, du iterierst über das Wort "gutefrage".
Es gibt 9 Durchläufe. Was pro Durchlauf im Schleifenkörper passiert, interessiert die Schleife nicht, solange du kein break angibst (oder sonstige Statements, die den sog. Stack verlassen). Das kann ebenso eine Ausnahme sein oder, je nach Paradigma, das return oder gar ein exit().
Du musst also in die Bedingung eingreifen und den aktuellen Durchlauf manipulieren - ob mit if, if-else, try-except, match-case......., völlig irrelevant.
Die Regeln sind ganz einfach:
- Der If-Zweig wird nur ausgeführt, wenn die Bedingung gilt. Ansonsten der Else-Zweig. Danach wird mit dem nächsten Statement nach dem If-Else-Konstrukt weitergemacht.
- Gibt es keinen Else-Zweig wird mit dem nächsten Statement nach dem If-Block direkt fortgefahren, falls die Bedingung für den If-Block nicht gilt.
- Ein For-Loop läuft so lange, wie seine Bedingung erfüllt ist.
Das als Voraussetzung.
Somit läuft der For-Loop unabhängig vom If-Statement einfach solange, wie er laufen soll. Was in seinem Block passiert, ist dem For-Loop ganz egal. Und wenn die Bedingung des If gilt, wird dann auch mal der If-Block ausgeführt. Wenn sie nicht gilt, wird der For-Loop mit der nächsten Iteration fortgesetzt.
Der Code innerhalb der Schleife wird in jedem Durchgang ausgeführt.
Der Code innerhalb des bedingten Blocks wird ausgeführt, wenn die Bedingung (innerhalb des jeweiligen Durchlaufs) erfüllt ist.
Der Loop kümmert sich nicht um das if, denn es steht vielleicht innerhalb des Loops ist nur eine Abfrage ohne genannte Aktion. Ohne konkreten Code kann man nicht sagen, was passiert, aber ein fehlendes else ist auch egal. Dann gibt es eben keine angegebene Alternative zur Erfüllung der if-Bedingung.
Du solltest dir Hilfe suchen, die dir wenigstens beim Lernen des Grundwissens hilft.