If ohne Else was passiert?

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.