CodeGym /Java-Kurse /Python SELF DE /Noch ein bisschen über Schleifen und if

Noch ein bisschen über Schleifen und if

Python SELF DE
Level 4 , Lektion 5
Verfügbar

11.1 Ternärer Operator

In Python gibt es den sogenannten ternären Operator, der im Wesentlichen eine abgewandelte Form des Operators if else darstellt.

Nehmen wir an, du hast folgenden Code:


if a < b:
   min = a
else:
   min = b

Damit solch einfacher Code nicht viel Platz einnimmt, wurde eine kompakte Schreibweise dafür entwickelt. Sie sieht so aus:


min = a if a < b else b

Die allgemeine Form des ternären Operators kann beschrieben werden als:


variable = wert1 if bedingung else wert2

Wenn die bedingung wahr ist, wird der wert1 der Variablen zugewiesen. Ist sie falsch, wird wert2 zugewiesen.

Beachte, dass hier kein Doppelpunkt nach der Bedingung gesetzt wird.

11.2 Der Operator else in Schleifen

In Python wird der Operator else oft mit den bedingten Operatoren if assoziiert. Seine Anwendung beschränkt sich jedoch nicht darauf, und du kannst else auch in Schleifen wie for und while verwenden.

Dieser nicht offensichtliche Aspekt von else im Kontext von Schleifen kann Anfänger verwirren, eröffnet aber interessante Möglichkeiten zur Steuerung des Programmablaufs.

Wie else in Schleifen funktioniert

In Schleifen wird else nach dem Abschluss der Schleife ausgeführt, allerdings nur, wenn die Schleife normal beendet wurde (also nicht durch den Operator break unterbrochen wurde). Diese Besonderheit macht else nützlich für Szenarien, in denen man überprüfen muss, ob die Schleife vorzeitig abgebrochen wurde.

Beispiel einer Verwendung in einer for-Schleife:


for i in range(3):
    password = input('Gib das Passwort ein: ')
    if password == 'sekret':
        print('Passwort akzeptiert.')
        break
else:
    print('Keine Versuche mehr oder alle eingegebenen Passwörter sind falsch.')               

Hier wird else ausgeführt, wenn der User dreimal ein falsches Passwort eingibt. Gibt der User das richtige Passwort ein, wird die Schleife durch break unterbrochen, und der else-Block wird nicht ausgeführt.

Beispiel einer Verwendung in einer while-Schleife:


n = 5
while n > 0:
    print(n)
    n -= 1
else:
    print('Die Schleife wurde normal beendet.')               

In diesem Fall wird else ausgeführt, nachdem die Schleife natürlicherweise endet, weil die Bedingung falsch geworden ist.

Praktische Bedeutung

Die Verwendung von else in Schleifen kann besonders in Suchalgorithmen nützlich sein, wo es wichtig ist festzustellen, ob die Suche erfolgreich war. Zum Beispiel kann bei der Suche nach einem nicht existierenden Element in einer Liste else genutzt werden, um nach dem Ende der Schleife eine Fehlerinformation auszugeben.

Verwende else in Schleifen klar und konsistent, um anderen die Lesbarkeit deines Codes zu erleichtern. Bedenke, dass else in Schleifen nicht immer intuitiv ist, daher ist es sinnvoll, Kommentare hinzuzufügen oder andere Möglichkeiten der Logikimplementierung zu wählen, wenn dies den Code verständlicher macht.

11.3 Verschachtelte Schleifen

In Python kannst du sehr komplexe Logik sehr kompakt schreiben. Für einige Fälle benötigst du verschachtelte if-Anweisungen, für andere verschachtelte Schleifen. Über einige Feinheiten ihrer Funktionsweise sprechen wir jetzt:

Eine verschachtelte Schleife bedeutet, dass eine Schleife innerhalb einer anderen enthalten ist. Dies erlaubt es zum Beispiel, mehrdimensionale Arrays, Listen von Listen oder andere verschachtelte Datenstrukturen zu verarbeiten.

Verschachtelte Schleifen bestehen aus einer äußeren Schleife und einer oder mehreren inneren Schleifen. Jedes Mal, wenn die äußere Schleife eine Iteration durchläuft, wird die innere Schleife vollständig ausgeführt:


for i in range(3):  # Äußere Schleife
    for j in range(3):  # Innere Schleife
        print(f"({i}, {j})")               

Aus Sicht der äußeren Schleife ist die innere Schleife und ihr Inhalt einfach ein Block von Befehlen, die für jede Iteration der äußeren Schleife ausgeführt werden. Der äußeren Schleife ist es völlig egal, was sich darin befindet, wie viele Schleifen es gibt und so weiter. Sie führt einfach ihren inneren Befehlsblock jedes Mal für die Variable aus ihrer Liste aus.

Lass uns eine Multiplikationstabelle auf dem Bildschirm ausgeben — verschachtelte Schleifen sind perfekt für diese Aufgabe geeignet. Die Erstellung der Multiplikationstabelle mit verschachtelten Schleifen, wobei eine Schleife für den Multiplikator und die andere für das Multiplikand zuständig ist:


n = 5
for i in range(1, n + 1):
    for j in range(1, n + 1):
        print(f"{i} * {j} = {i * j}", end='\t')
    print()  # Zeilenumbruch für den nächsten Multiplikator               

Dieses Beispiel wird die Tabelle ausgeben:


1 * 1 = 1	1 * 2 = 2	1 * 3 = 3	1 * 4 = 4	1 * 5 = 5	
2 * 1 = 2	2 * 2 = 4	2 * 3 = 6	2 * 4 = 8	2 * 5 = 10	
3 * 1 = 3	3 * 2 = 6	3 * 3 = 9	3 * 4 = 12	3 * 5 = 15	
4 * 1 = 4	4 * 2 = 8	4 * 3 = 12	4 * 4 = 16	4 * 5 = 20	
5 * 1 = 5	5 * 2 = 10	5 * 3 = 15	5 * 4 = 20	5 * 5 = 25

Um verschachtelte Schleifen besser zu verstehen, brauchst du einfach mehr Übung — das ist der schnellste Weg, um fast jede nicht offensichtliche Sache in der Programmierung zu meistern.

1
Опрос
Schleifen und Verzweigungen,  4 уровень,  5 лекция
недоступен
Schleifen und Verzweigungen
Schleifen und Verzweigungen
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION