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