Aufgabe 01 - Python-Spickzettel
Aufgabe 01 - Python-Spickzettel
Abschnitt betitelt „Aufgabe 01 - Python-Spickzettel“Worum geht es?
Abschnitt betitelt „Worum geht es?“Sie erstellen Ihren persönlichen Python-Spickzettel: eine kompakte, selbst getestete Referenz aller Grundkonstrukte der Sprache (siehe Kapitel Einführung in Python). Der Zettel begleitet Sie durch das ganze Schuljahr; entsprechend sorgfältig soll er entstehen. Der eigentliche Lerneffekt liegt dabei nicht im fertigen Zettel, sondern im Weg dorthin: Jedes Konstrukt wird einmal selbst getippt, ausgeführt und in eigenen Worten beschrieben.
Was Sie dafür brauchen
Abschnitt betitelt „Was Sie dafür brauchen“- Kapitel Einführung in Python (Werkzeuge, Datentypen, Kontrollstrukturen, Funktionen, Listen, Dictionaries, f-Strings).
- Python 3 (aktuelle Version), VS Code mit Python-Erweiterung, ein Terminal.
Welche Kompetenzen Sie erwerben und zeigen
Abschnitt betitelt „Welche Kompetenzen Sie erwerben und zeigen“- Sie richten eine funktionierende Python-Arbeitsumgebung ein und führen Skripte aus.
- Sie schreiben und testen die Grundkonstrukte der Sprache selbstständig in der REPL.
- Sie dokumentieren technisches Wissen so, dass es später als Nachschlagewerk taugt.
Pädagogische Einordnung
Abschnitt betitelt „Pädagogische Einordnung“- Reproduktion: Konstrukte nennen, Syntax wiedergeben, Ausgaben beschreiben (Teil A).
- Reorganisation und Transfer: Konstrukte auf eigene Beispiele anwenden, Ergebnisse vergleichen und strukturieren (Teile B und C).
- Reflexion, Problemlösung und Urteilsbildung: ein zusammengesetztes Problem selbstständig lösen, den eigenen Lösungsweg begründen (Teil D).
Arbeitsaufträge
Abschnitt betitelt „Arbeitsaufträge“Die Übung ist auf etwa zwei Stunden ausgelegt. Teil D richtet sich an jene, die früher fertig sind; ein vollständiger, sauberer Zettel aus A bis C ist mehr wert als ein halber Teil D.
Teil A - Ankommen
Abschnitt betitelt „Teil A - Ankommen“- Installieren Sie Python und prüfen Sie im Terminal mit
python --version, dass Version 3.12 oder neuer läuft. - Führen Sie in der REPL aus und notieren Sie die Ergebnisse:
2 ** 10,7 / 2,7 // 2,"ab" * 3. - Legen Sie ein Skript
hello.pyan, das mitinput()nach dem Namen fragt und mit einem f-String personalisiert grüßt. Führen Sie es im Terminal aus.
Teil B - Der Spickzettel
Abschnitt betitelt „Teil B - Der Spickzettel“Erstellen Sie eine Tabelle (Markdown oder Dokument) mit je einem selbst getesteten Mini-Beispiel für:
- Variable und Konstante (Namenskonvention!),
if/elif/else,for-Schleife überrange(...)und über eine Liste,while-Schleife,- Funktionsdefinition mit Parameter, Default-Wert und
return, - Liste: anlegen,
append, Zugriff per Index,len, Slicing, - Dictionary: anlegen, Zugriff, Schlüssel prüfen mit
in,items()-Schleife, - f-String mit Formatangabe (
:.2fund:03d).
Jedes Beispiel wird vor dem Eintragen in der REPL ausgeführt. Ungeprüfte Beispiele haben auf dem Zettel nichts verloren.
Teil C - Stolperfallen
Abschnitt betitelt „Teil C - Stolperfallen“- Führen Sie aus und erklären Sie das Ergebnis in je einem Satz:
input("number: ") * 2bei Eingabe7;10 / 4und10 // 4;"5" == 5. - Wählen Sie drei Fehlerquellen aus dem Kapitel (Kandidaten: vergessene
int()-Umwandlung, fehlender Doppelpunkt, Einrückungsfehler,truestattTrue) und dokumentieren Sie auf dem Zettel je zwei Sätze: Was passiert, und wie merken Sie es sich? - Provozieren Sie jeden dieser drei Fehler absichtlich und notieren Sie die exakte Fehlermeldung dazu. Wer die Meldungen kennt, findet Fehler später schneller.
Teil D - Expertenteil: Timecode rückwärts
Abschnitt betitelt „Teil D - Expertenteil: Timecode rückwärts“Im Kapitel wird frames_to_timecode() entwickelt. Schreiben Sie die Umkehrfunktion:
timecode_to_frames(timecode, fps=25)nimmt einen String wie"01:00:02:11"und liefert die absolute Framenummer (hier: 90061). Hilfreich:timecode.split(":")undint().- Die Funktion weist unbrauchbare Eingaben ab (falsche Anzahl an Teilen, nicht numerische Teile, Minuten oder Sekunden über 59, Framewert nicht kleiner als fps) und gibt in diesem Fall
Nonezurück, zusammen mit einer verständlichen Meldung. - Beweisen Sie die Korrektheit mit einer Rundreise: Für die Framenummern 0, 24, 25, 3599 und 90061 muss
timecode_to_frames(frames_to_timecode(n))wieder n ergeben. Automatisieren Sie diese Prüfung mit einer Schleife undassert. - Begründen Sie in zwei Sätzen, warum die Rundreise-Prüfung mehr Vertrauen schafft als fünf einzeln notierte Erwartungswerte.
Wissenscheck
Abschnitt betitelt „Wissenscheck“Beantworten Sie ohne Nachschauen; kontrollieren Sie danach mit REPL oder Kapitel:
- Was liefert
input()immer, unabhängig davon, was der Benutzer eintippt? - Worin unterscheiden sich
/und//? - Woran erkennt Python, welche Zeilen zu einem
if-Block gehören? - Wie heißt die Namenskonvention für Funktionen und Variablen in Python, und wie sieht sie aus?
- Was gibt
f"{3.14159:.2f}"aus?
Spickzettel (Markdown oder PDF), hello.py, die Stolperfallen-Protokolle aus Teil C und, falls bearbeitet, timecode.py mit der Rundreise-Prüfung.