Kontrollstrukturen

⬇️ Jupyter Notebook herunterladen

Kontrollstrukturen sind grundlegend in der Python-Programmierung. Wir werden drei wichtige Strukturen kennenlernen:

  1. Bedingte Anweisungen: Treffen von Entscheidungen basierend auf bestimmten Bedingungen.
  2. Schleifen: Wiederholtes Ausführen eines Codeblocks.
  3. Ausnahmen: Umgang mit Fehlern und deren Behandlung.

Bedingte Anweisungen

Bedingte Anweisungen helfen dabei, Code nur auszuführen, wenn bestimmte Bedingungen erfüllt sind.

Grundlegende If-Else-Anweisung:

# Bestimmen, ob eine Zahl positiv, negativ oder null ist
number = -3

if number > 0:
    print(f"{number} ist eine positive Zahl.")
elif number < 0:
    print(f"{number} ist eine negative Zahl.")
else:
    print(f"{number} ist null.")
-3 ist eine negative Zahl.

Erläuterung:

  • if prüft, ob number größer als 0 ist und gibt aus, dass sie positiv ist.
  • elif (else if) prüft, ob number kleiner als 0 ist und gibt aus, dass sie negativ ist.
  • else fängt alle anderen Bedingungen ab (hier null) und gibt entsprechend aus.

Verschachtelte Bedingungsanweisungen:

# Ein Alter in verschiedene Lebensphasen einordnen
age = 25

if age < 13:
    print("Kind")
elif age < 18:
    print("Teenager")
else:
    if age < 65:
        print("Erwachsener")
    else:
        print("Senior")
Erwachsener

Erläuterung:

  • Das äußere if-elif-else prüft, ob age kleiner als 13 oder 18 ist und gibt “Kind” oder “Teenager” aus.
  • Falls nicht, prüft ein verschachteltes if-else weiter, ob age kleiner als 65 ist oder größer, und gibt “Erwachsener” oder “Senior” aus.

Schleifen

Schleifen wiederholen einen Codeblock mehrere Male.

For-Schleifen

For-Schleifen iterieren über einen Bereich oder eine Sammlung.

Schleife über einen Bereich (“range”):

# Zahlen von 1 bis 5 ausgeben
for num in range(1, 6):
    print(f"Nummer: {num}")
Nummer: 1
Nummer: 2
Nummer: 3
Nummer: 4
Nummer: 5

Erläuterung:

  • range(1, 6) erzeugt Zahlen von 1 bis 5 (6 ist exklusiv).
  • Jede Zahl wird mit einem f-String ausgegeben.

Schleife über eine Liste:

# Liste von Farben
colors = ["rot", "grün", "blau"]

# Durch jede Farbe in der Liste schleifen und ausgeben
for color in colors:
    print(f"Farbe: {color}")
Farbe: rot
Farbe: grün
Farbe: blau

Erläuterung:

  • Die Liste colors enthält drei Zeichenketten.
  • for color in colors iteriert über jedes Element in der Liste, und jeder Wert wird ausgegeben.

While-Schleifen

Eine While-Schleife wird so lange ausgeführt, wie eine Bedingung True ist.

Einfache While-Schleife:

# Countdown von 5 bis 1
count = 5

while count > 0:
    print(f"Countdown: {count}")
    count -= 1  # Zählt count um 1 herunter
Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1

Erläuterung:

  • Anfangswert der Variable: Die Variable count wird auf 5 gesetzt.
  • Bedingung der While-Schleife: Die while-Schleife läuft, solange die Bedingung count > 0 True bleibt. Diese Bedingung wird vor jedem Schleifendurchlauf geprüft.
  • Innerhalb der Schleife:
    • Die Funktion print gibt den aktuellen Wert von count, vorangestellt mit “Countdown:”, mittels eines f-Strings aus.
    • Die Anweisung count -= 1 verringert den Wert von count um 1. Diese Kurzschreibweise ist äquivalent zu count = count - 1.
    • Nach jedem Dekrement wird count näher an 0 herangeführt.
  • Verlassen der Schleife:
    • Sobald count nicht mehr größer als 0 ist (also count 0 oder weniger ist), wird die while-Bedingung False und die Schleife wird beendet.

Die Dekrement-Operation (count -= 1) stellt sicher, dass die Schleife nicht unendlich läuft und hilft, eine Countdown-Sequenz zu erstellen.

Klar, ich kann das für Python-Anfänger einfacher und verständlicher formulieren.

Ausnahmen

Ausnahmen helfen uns, Fehler zu behandeln, die während der Programmausführung auftreten, ohne dass das Programm abstürzt.

Hier ist ein einfaches Beispiel, wie man mit einer Division durch Null umgehen kann:

  1. try-Block: Hier kommt der Code, der möglicherweise fehlerhaft ist.
  2. except-Block: Hier kommt der Code, der ausgeführt wird, wenn ein Fehler auftritt.
# Versuch, eine Zahl durch Null zu teilen, und Fehlerbehandlung
numerator = 10
denominator = 0

try:
    result = numerator / denominator
    print(f"Ergebnis: {result}")
except ZeroDivisionError:
    print("Fehler: Division durch Null ist nicht erlaubt.")
Fehler: Division durch Null ist nicht erlaubt.
  • Der try-Block enthält den Code, der einen Fehler verursachen könnte (hier die Division durch Null).
  • except ZeroDivisionError fängt diesen speziellen Fehler ab und gibt eine Fehlermeldung aus.

Durch die Verwendung von Ausnahmen können wir sicherstellen, dass unser Programm auch bei Fehlern weiterläuft und sinnvolle Fehlermeldungen liefert.