1. List Comprehensions: Das Schnellschienen-Fließband
In Python musst du nicht jedes Mal eine leere Liste erstellen und eine 4-zeilige for-Schleife mit .append() schreiben.
Mit List Comprehensions erstellst und filterst du Listen in einer einzigen, eleganten Zeile!
Stell dir ein automatisiertes Fließband in einer Manufaktur vor:
- Die Rohstoffe (Elemente aus der Ausgangsliste) laufen über das Band (
for x in liste). - Ein Sensor sortiert unpassende Teile sofort aus (
if x % 2 == 0). - Am Ende wird das Teil direkt veredelt oder berechnet (
x ** 2) und fällt fertig verpackt in die neue Liste!
# 🐢 Vorher: Traditionelle for-Schleife (4 Zeilen) gerade_quadrate = [] for x in range(1, 7): if x % 2 == 0: gerade_quadrate.append(x ** 2) # 🚀 Nachher: Elegante List Comprehension (1 Zeile!) gerade_quadrate = [x ** 2 for x in range(1, 7) if x % 2 == 0] print(gerade_quadrate) # [4, 16, 36]
Dict Comprehensions: Dictionaries on the fly
woerter = ["Python", "Code", "Entwicklung"] laengen = {w: len(w) for w in woerter} print(laengen) # {'Python': 6, 'Code': 4, 'Entwicklung': 11}
2. Datum, Uhrzeit & Zeitspannen (Das datetime-Modul)
Egal ob Ticket-Buchung, Geburtstags-Erinnerung oder Spielstand-Speicherung: Zeitberechnungen gehören zum Alltag jeder Programmiererin.
date&datetimesind wie dein Kalender: Ein festes Datum wie der 24.12.2026.timedeltaist wie eine Zeitspanne (z.B. "+ 14 Tage" oder "- 3 Stunden").
from datetime import datetime, date, timedelta # 1. Heute ermitteln: heute = date.today() # 2. Text in Datum parsen (.strptime): urlaub = datetime.strptime("2026-07-15", "%Y-%m-%d").date() # 3. Differenz in Tagen berechnen: tage_bis_urlaub = (urlaub - heute).days print(f"Noch {tage_bis_urlaub} Tage bis zum Urlaub!") # 4. Deutsches Datumsformat ausgeben (.strftime): print(urlaub.strftime("%d.%m.%Y")) # Ausgabe: "15.07.2026"
Wichtige Formatierungs-Kürzel
| Kürzel | Bedeutung | Beispiel |
|---|---|---|
%d |
Tag im Monat mit führender Null (01..31) | 05 oder 29 |
%m |
Monat mit führender Null (01..12) | 08 |
%Y |
Vierstelliges Jahr | 2026 |
3. Grundlegende Algorithmen: Min/Max, Suchen & Sortieren
Ein Algorithmus ist eine präzise Handlungsanweisung zur Lösung eines Problems. Hier lernst du die wichtigsten Muster kennen:
personen = [ {"name": "Anna", "alter": 25}, {"name": "Ben", "alter": 32}, {"name": "Clara", "alter": 19} ] # Die älteste Person mit max() und Lambda-Schlüssel finden: aelteste = max(personen, key=lambda p: p["alter"]) print(f"Älteste Person: {aelteste['name']} ({aelteste['alter']} Jahre)") # Ausgabe: Älteste Person: Ben (32 Jahre)
4. 🎯 Deine Aufgaben in aufgabe.py
Öffne die Datei aufgabe.py und bearbeite die folgenden 5 Aufgaben:
💡 Lösungshinweise (Aufklappen bei Bedarf)
🔍 Tipp zu TODO 1 & 2 (List Comprehensions)
# TODO 1: return [x ** 2 for x in zahlen if x % 2 == 0] # TODO 2: return [w for w in woerter if len(w) >= min_laenge]
🔍 Tipp zu TODO 3 (Datum einlesen & subtrahieren)
ziel = datetime.strptime(ziel_datum_str, "%Y-%m-%d").date() heute = date.today() return (ziel - heute).days
5. 🧪 Lösung überprüfen & Kursabschluss
Führe den Test im Terminal aus:
python3 test_aufgabe.py