Skip to content

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:

  1. Was wird ausgegeben, wenn temperatur = 25?
  2. Was wird ausgegeben, wenn temperatur = 35?
  3. Was wird ausgegeben, wenn temperatur = 5?
  4. 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" sein

Bonus-Ü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!")

Informatik & ICT Unterricht Neufeld