- 1 Section
- 10 Lessons
- unbegrenzt
- Python Grundlagen10
- 1.1Python-Grundlagen: Installation, REPL, erstes Skript
- 1.2Variablen, Datentypen, Typumwandlung
- 1.3Kontrollstrukturen: if, elif, else
- 1.4Schleifen: for, while, range
- 1.5Listen, Tupel, Dictionaries, Sets
- 1.6Funktionen: def, Parameter, return
- 1.7Fehlerbehandlung: try-except-finally
- 1.8Strings: Methoden, Formatierung, f-Strings
- 1.9Dateien lesen und schreiben
- 1.10Praxisprojekt: Kleines Python-Programm von A bis Z
Praxisprojekt: Kleines Python-Programm von A bis Z
Wir bauen jetzt ein komplettes Python-Programm – einen Kommandozeilen-TODO-Manager. Aufgaben hinzufügen, anzeigen, als erledigt markieren, löschen – und alles dauerhaft in einer JSON-Datei gespeichert. Klein genug für ein Praxisprojekt nach 9 Lektionen, aber realistisch genug um echte Python-Patterns zu zeigen.
Wie schon im Java-Praxisprojekt (siehe K40a Lektion 10) gehen wir iterativ vor: erst kleinste lauffähige Version, dann Feature für Feature dazu. Genauso läuft echte Software-Entwicklung ab – „erst zum Laufen bringen, dann verbessern, dann polieren".
1) Die Projektplanung – was soll das Programm können?
Bevor du auch nur eine Zeile Code schreibst: schreib dir auf was das Programm tun soll. Bei diesem TODO-Manager planen wir sechs Aufbau-Schritte:
dict mit id, text, erledigt. Alle TODOs in einer Liste.todos.json laden, nach Änderungen speichern (siehe L9 Dateien).2) Schritt für Schritt: der Code wächst
Klicke die Tabs und sieh wie unser Programm in jedem Schritt wächst. Neue Zeilen sind hervorgehoben:
3) Das fertige Programm in Aktion
Hier ein typischer Durchlauf wie er sich aus Anwendersicht anfühlt – mit Fehleingaben, Validierung und allem drum und dran:
todos.json persistiert wurden. Das ist eine richtige Anwendung – klein, aber komplett.4) Reflexion: Was haben wir gelernt?
Schau dir an wie viele Konzepte in diesen rund 70 Zeilen Code stecken. Jede Lektion aus K41 hat ihren Platz gefunden:
✓ L2: Datentypen
str, int, bool – dynamische Typisierung. Truthy-Checks: if text:, if not todos:.
✓ L4: Schleifen
while True für Menü-Loop, for über Liste, List Comprehension fürs Löschen.
→ Lektion 4✓ L6: Funktionen
Saubere Zerlegung in add, list, done, delete, finde, lese, laden, speichern, menu.
→ Lektion 6✓ L7: Fehlerbehandlung
try-except gegen ValueError beim Parsen und JSONDecodeError beim Laden.
→ Lektion 7✓ L9: Dateien
JSON-Persistenz, pathlib, with-Statement, encoding=utf-8 immer mitgegeben.
→ Lektion 95) Wie geht es weiter? Ideen für eigene Projekte
Du hast jetzt das Handwerkszeug für eigene Python-Programme. Hier ein paar Übungs-Ideen mit aufsteigender Schwierigkeit – alle mit dem K41-Wissen lösbar:
★ Vokabel-Trainer
Wörterbuch laden, zufällig fragen, Treffer/Fehlversuche speichern, Statistik anzeigen.
★ Notizen-Tool
Wie TODO, aber für längere Texte mit Suchfunktion (substring).
★★ Zahlenraten
Computer würfelt 1-100, User rät, „zu hoch"/„zu niedrig". random.randint.
★★ CSV-Analyzer
CSV einlesen, Spalten-Statistiken (min, max, durchschnitt). Aus L9.
★★★ Mini-Chatbot
Regelbasiert: Trigger-Wörter erkennen, vordefinierte Antworten. Mit dict.
★★★ Pomodoro-Timer
25 Min Arbeit, 5 Min Pause. Mit time.sleep() und Sessions-Protokoll.
6) Was kommt als nächstes?
K41 war der Einstieg. In K41b – Python Fortgeschritten geht es weiter mit den großen Themen: Klassen und OOP (statt Liste-von-Dicts → echte Objekte mit Methoden), Vererbung, Decorators, Generatoren, Module & Packages, pip & venv, Testing mit pytest und pandas/NumPy für Datenanalyse. Theoretisches Fundament: K39 Algorithmen. Viel Erfolg beim Weiterlernen!
Zusammenfassung
Reale Projekte entstehen schrittweise: Roadmap planen, kleinstes lauffähiges Gerüst, dann iterativ erweitern. Unser TODO-CLI kombiniert ALLE K41-Konzepte in <100 Zeilen: Liste von dicts, Funktionen pro Aktion, JSON-Persistenz mit pathlib + with, robuste Eingabe mit try-except, formatierte Ausgabe via f-Strings. Patterns: if __name__ == "__main__", Helper-Funktionen, pythonic mit is None und List Comprehensions. Nächste Schritte: eigene Übungen + K41b für OOP und mehr.
