Teil 7: if/else Bedingungen
Übung 7.1: Einfache if-Bedingung
python
"""
Übung 7.1: Einfache if-Bedingung
Aufgabe: Schreibe eine Funktion, die True zurückgibt wenn die Zahl positiv (> 0) ist, sonst False.
Konzept: if/else
"""
def ist_positiv(zahl):
"""
Prüft, ob eine Zahl positiv ist.
Args:
zahl: Eine Zahl
Returns:
True wenn positiv (> 0), sonst False
"""
# DEINE LÖSUNG HIER
pass
# Tests
assert ist_positiv(5) == True, "Fehler: 5 ist positiv"
assert ist_positiv(-3) == False, "Fehler: -3 ist nicht positiv"
assert ist_positiv(0) == False, "Fehler: 0 ist nicht positiv"
print("✓ Alle Tests bestanden!")Übung 7.2: if-elif-else
python
"""
Übung 7.2: if-elif-else
Aufgabe: Schreibe eine Funktion, die "positiv", "negativ" oder "null" zurückgibt.
Konzept: if-elif-else
"""
def zahl_klassifizieren(zahl):
"""
Klassifiziert eine Zahl.
Args:
zahl: Eine Zahl
Returns:
"positiv", "negativ" oder "null"
"""
# DEINE LÖSUNG HIER
pass
# Tests
assert zahl_klassifizieren(5) == "positiv", "Fehler: 5 ist positiv"
assert zahl_klassifizieren(-3) == "negativ", "Fehler: -3 ist negativ"
assert zahl_klassifizieren(0) == "null", "Fehler: 0 ist null"
print("✓ Alle Tests bestanden!")Übung 7.3: Vergleich zweier Zahlen
python
"""
Übung 7.3: Vergleich zweier Zahlen
Aufgabe: Schreibe eine Funktion, die die größere von zwei Zahlen zurückgibt.
Konzept: Vergleichsoperatoren und if/else
"""
def groessere_zahl(a, b):
"""
Gibt die größere von zwei Zahlen zurück.
Args:
a: Erste Zahl
b: Zweite Zahl
Returns:
Die größere Zahl
"""
# DEINE LÖSUNG HIER
pass
# Tests
assert groessere_zahl(5, 3) == 5, "Fehler: 5 ist größer"
assert groessere_zahl(10, 20) == 20, "Fehler: 20 ist größer"
assert groessere_zahl(7, 7) == 7, "Fehler: Beide gleich, gib 7 zurück"
print("✓ Alle Tests bestanden!")Übung 7.4: Code Reading (Code lesen)
Aufgabe: Lies den folgenden Code und erkläre, was er macht. Erstelle eine Ablauf-Tabelle.
python
temperatur = 25
if temperatur > 30:
nachricht = "Es ist heiß!"
elif temperatur > 20:
nachricht = "Es ist warm."
elif temperatur > 10:
nachricht = "Es ist kühl."
else:
nachricht = "Es ist kalt!"
print(nachricht)Fragen:
- Was wird ausgegeben, wenn
temperatur = 25? - Was wird ausgegeben, wenn
temperatur = 35? - Was wird ausgegeben, wenn
temperatur = 5? - Welche Bedingung wird bei
temperatur = 25überprüft und welche Bedingungen werden übersprungen?
Übung 7.5: Debugging (Fehler finden)
Aufgabe: Der folgende Code soll prüfen, ob eine Person volljährig ist (18 Jahre oder älter). Es gibt aber einen logischen Fehler.
python
"""
Übung 7.5: Debugging - Volljährigkeit
Aufgabe: Der Code prüft Volljährigkeit, aber bei alter = 18 stimmt das Ergebnis nicht.
Hinweis: Welcher Vergleichsoperator ist korrekt: > oder >= ?
"""
def pruefe_volljaehrigkeit(alter):
"""Prüft, ob eine Person volljährig ist."""
if alter > 18:
return "volljährig"
else:
return "minderjährig"
# Tests
print(pruefe_volljaehrigkeit(20)) # Sollte "volljährig" sein
print(pruefe_volljaehrigkeit(18)) # Sollte "volljährig" sein - aber ist es das?
print(pruefe_volljaehrigkeit(16)) # Sollte "minderjährig" seinBonus-Übungen
Bonus 1: Gerade oder ungerade
python
"""
Bonus 1: Gerade oder ungerade
Aufgabe: Prüfe mit dem Modulo-Operator %, ob eine Zahl gerade ist (durch 2 teilbar).
"""
def ist_gerade(zahl):
"""Prüft, ob eine Zahl gerade ist."""
# DEINE LÖSUNG HIER
pass
# Tests
assert ist_gerade(4) == True, "Fehler: 4 ist gerade"
assert ist_gerade(7) == False, "Fehler: 7 ist ungerade"
assert ist_gerade(0) == True, "Fehler: 0 ist gerade"
print("✓ Alle Tests bestanden!")Bonus 2: Maximum von drei Zahlen
python
"""
Bonus 2: Maximum von drei Zahlen
Aufgabe: Finde das Maximum von drei Zahlen mit if/elif/else oder max().
"""
def maximum_von_drei(a, b, c):
"""Findet das Maximum von drei Zahlen."""
# DEINE LÖSUNG HIER
pass
# Tests
assert maximum_von_drei(5, 2, 8) == 8, "Fehler: Maximum sollte 8 sein"
assert maximum_von_drei(10, 10, 5) == 10, "Fehler: Maximum sollte 10 sein"
print("✓ Alle Tests bestanden!")