Python - Verschachtelte Schleifen
Hallo, aufstrebende Programmierer! Heute tauchen wir in die faszinierende Welt der verschachtelten Schleifen in Python ein. Als euer freundlicher Nachbar und Computerlehrer bin ich begeistert, euch auf dieser Reise zu führen. Glaubt mir, am Ende dieser Lektion werdet ihr wie ein Profi schleifen!
Was sind Verschachtelte Schleifen?
Bevor wir in die Tiefe springen, beginnen wir mit den Grundlagen. Stellt euch vor, ihr organisiert euren Kleiderschrank. Ihr geht durch jeden Regalbrett (das ist eine Schleife), und für jedes Regalbrett sortiert ihr alle Gegenstände darauf (das ist eine weitere Schleife innerhalb der ersten). Das ist im Grunde genommen, was verschachtelte Schleifen in der Programmierung sind – Schleifen innerhalb von Schleifen!
Python Verschachtelte for-Schleife
Beginnen wir mit der for
-Schleife, die wie ein verlässlicher alter Freund in der Python-Welt ist.
Grundlegende Struktur
Hier ist die allgemeine Struktur einer verschachtelten for-Schleife:
for äußere_variable in äußere_Sequence:
# Äußere Schleifenkörper
for innere_variable in innere_Sequence:
# Innerer Schleifenkörper
Einfaches Beispiel: Multiplikations-Tabelle
Erstellen wir eine einfache Multiplikations-Tabelle, um dies besser zu verstehen:
for i in range(1, 6):
for j in range(1, 6):
print(f"{i} x {j} = {i*j}", end="\t")
print() # Gehe zur nächsten Zeile nach jeder Reihe
Dieser Code wird ausgeben:
1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5
2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10
3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15
4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20
5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25
Lassen Sie uns das aufbrechen:
- Die äußere Schleife (
for i in range(1, 6)
) läuft 5 Mal, represents the Reihen. - Für jede Iteration der äußeren Schleife läuft die innere Schleife (
for j in range(1, 6)
) 5 Mal, represents the Spalten. - Wir geben jedes Multiplikationsresultat aus, verwenden
end="\t"
, um einen Tabulator anstatt einer neuen Zeile hinzuzufügen. - Nach jeder Reihe (äußere Schleifeniteration) geben wir eine leere Zeile aus, um zur nächsten Reihe zu wechseln.
Echtes-Welt-Beispiel: Sitzordnung
Stellt euch vor, ihr seid ein Lehrer (wie ich!) und organisiert Sitze für einen Klassenraum. Erstellen wir eine Sitzordnung:
students = ["Alice", "Bob", "Charlie", "David", "Eve"]
rows = 3
seats_per_row = 2
seat_number = 0
for row in range(1, rows + 1):
print(f"Reihe {row}:")
for seat in range(1, seats_per_row + 1):
if seat_number < len(students):
print(f" Sitz {seat}: {students[seat_number]}")
seat_number += 1
else:
print(f" Sitz {seat}: Leer")
print() # Leere Zeile zwischen den Reihen
Dies wird ausgeben:
Reihe 1:
Sitz 1: Alice
Sitz 2: Bob
Reihe 2:
Sitz 1: Charlie
Sitz 2: David
Reihe 3:
Sitz 1: Eve
Sitz 2: Leer
In diesem Beispiel:
- Die äußere Schleife iteriert durch jede Reihe.
- Die innere Schleife weist Schülern Sitze in jeder Reihe zu.
- Wir verwenden eine
seat_number
-Variable, um zu überprüfen, welcher Schüler als nächstes zugewiesen wird. - Wenn wir keine Schüler mehr haben, markieren wir die verbleibenden Sitze als "Leer".
Python Verschachtelte while-Schleife
Nun treffen wir den Cousin der while
-Schleife – die verschachtelte while
-Schleife. Es ist wie ein wachsender Wächter, der eine Bedingung überprüft.
Grundlegende Struktur
So sieht eine verschachtelte while-Schleife typischerweise aus:
while äußere_Bedingung:
# Äußerer Schleifenkörper
while innere_Bedingung:
# Innerer Schleifenkörper
Beispiel: Zahlensäule
Erstellen wir eine Zahlensäule, um verschachtelte while-Schleifen in Aktion zu sehen:
row = 1
while row <= 5:
col = 1
while col <= row:
print(col, end=" ")
col += 1
print() # Gehe zur nächsten Zeile
row += 1
Dies wird ausgeben:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Lassen Sie uns das aufbrechen:
- Die äußere
while
-Schleife steuert die Anzahl der Reihen (1 bis 5). - Für jede Reihe gibt die innere
while
-Schleife Zahlen von 1 bis zur aktuellen Reihe aus. - Wir erhöhen
col
innerhalb der inneren Schleife undrow
innerhalb der äußeren Schleife.
Echtes-Welt-Beispiel: Inventarprüfung
Stellt euch vor, ihr seid ein kleiner Ladenbesitzer. Ihr müsst euer Inventar regelmäßig überprüfen. Simulieren wir dies mit verschachtelten while-Schleifen:
inventory = {
"Äpfel": 50,
"Bananen": 30,
"Orangen": 40
}
days = 1
while days <= 3: # Überprüfen für 3 Tage
print(f"Tag {days} Inventarprüfung:")
for fruit, quantity in inventory.items():
while quantity > 0:
print(f"Überprüfe {fruit}...")
quantity -= 10 # Simulieren des Verkaufs von 10 Einheiten pro Überprüfung
if quantity <= 20:
print(f"Niedriger Bestandsalarm für {fruit}! Nur {quantity} übrig.")
break # Stoppe die Überprüfung dieses Obstes, wenn der Bestand niedrig ist
inventory[fruit] = quantity # Aktualisiere das Inventar
print(f"Ende des Tages {days} Inventar: {inventory}\n")
days += 1
Dies wird etwas wie folgt ausgeben:
Tag 1 Inventarprüfung:
Überprüfe Äpfel...
Überprüfe Äpfel...
Überprüfe Äpfel...
Niedriger Bestandsalarm für Äpfel! Nur 20 übrig.
Überprüfe Bananen...
Niedriger Bestandsalarm für Bananen! Nur 20 übrig.
Überprüfe Orangen...
Überprüfe Orangen...
Niedriger Bestandsalarm für Orangen! Nur 20 übrig.
Ende des Tages 1 Inventar: {'Äpfel': 20, 'Bananen': 20, 'Orangen': 20}
Tag 2 Inventarprüfung:
Überprüfe Äpfel...
Niedriger Bestandsalarm für Äpfel! Nur 10 übrig.
Überprüfe Bananen...
Niedriger Bestandsalarm für Bananen! Nur 10 übrig.
Überprüfe Orangen...
Niedriger Bestandsalarm für Orangen! Nur 10 übrig.
Ende des Tages 2 Inventar: {'Äpfel': 10, 'Bananen': 10, 'Orangen': 10}
Tag 3 Inventarprüfung:
Überprüfe Äpfel...
Niedriger Bestandsalarm für Äpfel! Nur 0 übrig.
Überprüfe Bananen...
Niedriger Bestandsalarm für Bananen! Nur 0 übrig.
Überprüfe Orangen...
Niedriger Bestandsalarm für Orangen! Nur 0 übrig.
Ende des Tages 3 Inventar: {'Äpfel': 0, 'Bananen': 0, 'Orangen': 0}
In diesem Beispiel:
- Die äußere
while
-Schleife simuliert die Überprüfung des Inventars für 3 Tage. - Wir verwenden eine
for
-Schleife, um durch jedes Obst im Inventar zu iterieren. - Die innere
while
-Schleife simuliert die Überprüfung und den Verkauf jedes Obstes, bis der Bestand niedrig oder ausgelassen ist. - Wir verwenden
break
, um die Überprüfung eines Obstes zu stoppen, wenn dessen Menge auf 20 oder weniger sinkt.
Fazit
Herzlichen Glückwunsch! Ihr habt gerade die Kunst der verschachtelten Schleifen in Python gemeistert. Denkt daran, verschachtelte Schleifen sind kraftvolle Werkzeuge, aber verwendet sie weise. Sie können euren Code langsamer laufen lassen, wenn sie nicht effizient verwendet werden.
Wie bei allen Programmierkonzepten macht Übung den Meister. Versucht, eure eigenen verschachtelten Schleifen-Szenarien zu erstellen – vielleicht eine Schachbrett-Setup oder eine wöchentliche Schulplan. Die Möglichkeiten sind endlos!
K codiert, k lernet und vor allem habt Spaß dabei! Bis zum nächsten Mal, das ist euer freundlicher Nachbar und Computerlehrer. Fröhliches Schleifen!
Credits: Image by storyset