Skip to content

Bonus: Fortgeschrittene Übungen

Diese Übungen sind besonders anspruchsvoll und verwenden Konzepte, die über die Grundlagen hinausgehen.

String-Manipulation

Bonus 7: String umkehren

python
"""
Bonus 7: String umkehren
Aufgabe: Kehre einen String um. Tipp: Verwende Slicing mit [::-1]
"""

def string_umkehren(text):
    """Kehrt einen String um. Beispiel: "Hallo" → "ollaH" """
    # DEINE LÖSUNG HIER
    pass

# Tests
assert string_umkehren("Hallo") == "ollaH", "Fehler: 'ollaH'"
assert string_umkehren("Python") == "nohtyP", "Fehler: 'nohtyP'"
print("✓ Alle Tests bestanden!")

Bonus 8: Wörter zählen

python
"""
Bonus 8: Wörter zählen
Aufgabe: Zähle die Anzahl der Wörter in einem String. Tipp: Verwende .split()
"""

def woerter_zaehlen(text):
    """Zählt die Anzahl der Wörter in einem String."""
    # DEINE LÖSUNG HIER
    pass

# Tests
assert woerter_zaehlen("Hallo Welt") == 2, "Fehler: 2 Wörter"
assert woerter_zaehlen("Python ist toll") == 3, "Fehler: 3 Wörter"
print("✓ Alle Tests bestanden!")

Bonus 9: Palindrom-Checker

python
"""
Bonus 9: Palindrom-Checker
Aufgabe: Prüfe, ob ein Wort ein Palindrom ist (vorwärts = rückwärts). Beispiele: "anna", "rentner"
"""

def ist_palindrom(wort):
    """Prüft, ob ein Wort ein Palindrom ist."""
    # DEINE LÖSUNG HIER
    pass

# Tests
assert ist_palindrom("anna") == True, "Fehler: 'anna' ist Palindrom"
assert ist_palindrom("rentner") == True, "Fehler: 'rentner' ist Palindrom"
assert ist_palindrom("hallo") == False, "Fehler: 'hallo' ist kein Palindrom"
print("✓ Alle Tests bestanden!")

Bonus 17: Anagramm-Checker

python
"""
Bonus 17: Anagramm-Checker
Aufgabe: Prüfe, ob zwei Wörter Anagramme sind (gleiche Buchstaben, andere Reihenfolge).
Beispiel: "listen" und "silent" sind Anagramme.
"""

def sind_anagramme(wort1, wort2):
    """Prüft, ob zwei Wörter Anagramme sind."""
    # DEINE LÖSUNG HIER
    pass

# Tests
assert sind_anagramme("listen", "silent") == True, "Fehler: Anagramme"
assert sind_anagramme("hello", "world") == False, "Fehler: Keine Anagramme"
print("✓ Alle Tests bestanden!")

Datenstrukturen (Dictionaries)

Bonus 12: Häufigkeiten zählen

python
"""
Bonus 12: Häufigkeiten zählen
Aufgabe: Zähle, wie oft jedes Element in einer Liste vorkommt.
Beispiel: ["a", "b", "a"] → {"a": 2, "b": 1}
"""

def haeufigkeit_zaehlen(liste):
    """Zählt die Häufigkeit jedes Elements."""
    # DEINE LÖSUNG HIER
    pass

# Tests
assert haeufigkeit_zaehlen(["a", "b", "a"]) == {"a": 2, "b": 1}, "Fehler"
assert haeufigkeit_zaehlen([]) == {}, "Fehler: Leeres Dict"
print("✓ Alle Tests bestanden!")

Bonus 16: Dictionaries zusammenführen

python
"""
Bonus 16: Dictionaries zusammenführen
Aufgabe: Führe zwei Dictionaries zusammen. Bei Duplikaten: Wert aus dict2 verwenden.
"""

def dictionaries_zusammenfuehren(dict1, dict2):
    """Führt zwei Dictionaries zusammen."""
    # DEINE LÖSUNG HIER
    pass

# Tests
assert dictionaries_zusammenfuehren({"a": 1}, {"b": 2}) == {"a": 1, "b": 2}, "Fehler"
assert dictionaries_zusammenfuehren({"a": 1}, {"a": 2}) == {"a": 2}, "Fehler: Überschreiben"
print("✓ Alle Tests bestanden!")

Informatik & ICT Unterricht Neufeld