1. Die Eisenbahn-Weichen-Analogie 🚂
Code wird standardmäßig von oben nach unten Zeile für Zeile ausgeführt. Doch oft soll ein Programm je nach Situation einen anderen Pfad einschlagen: Ein Kinokassen-System berechnet für Kinder einen anderen Preis als für Erwachsene.
1. Das Signal (Bedingung): Die Weiche prüft: "Ist das Alter unter 12?"
2. Grünes Signal (True): Der Zug biegt auf das Kindertarif-Gleis ab und führt dessen Code aus.
3. Rotes Signal (False): Der Zug fährt weiter zur nächsten Weiche (
elif).
4. Das Ausweichgleis (else): Wenn keines der Signale grün war, nimmt der Zug das Standardgleis.
5. Weiterfahrt: Hinter der Weichenanlage laufen alle Gleise wieder auf der Hauptstrecke zusammen!
2. Syntax von if / elif / else & Vergleichsoperatoren
In Python werden Verzweigungen mit Doppelpunkt : eingeleitet und der zugehörige Codeblock muss genau 4 Leerzeichen eingerückt sein.
if alter < 12: preis = 6.00 # 4 Leerzeichen Einrückung elif alter >= 65: preis = 8.50 elif ist_student: preis = 9.50 else: preis = 12.00
= (einfaches Istgleich) ist eine Zuweisung: punkte = 10.-
== (doppeltes Istgleich) ist ein Vergleich: if punkte == 10:.
Die 6 Vergleichsoperatoren:
3. Logische Operatoren & Wahrheitstabellen 🧪
Bedingungen lassen sich mit and, or und not kombinieren:
and (Beide wahr)
| A | B | A and B |
|---|---|---|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
or (Mind. eins wahr)
| A | B | A or B |
|---|---|---|
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
not (Verneinung)
| A | not A |
|---|---|
| True | False |
| False | True |
(...) binden stärker und machen deinen Code absolut unmissverständlich!darf_fahren = (groesse >= 140) or (groesse >= 120 and begleitung)
4. 📝 Deine Aufgaben in aufgabe.py
Öffne aufgabe.py und setze folgende 4 Funktionen um:
💡 Lösungshinweise (Aufklappen bei Bedarf)
🔍 Tipp zu TODO 2 (Reihenfolge der Notenstufen)
Prüfe zuerst die ungültigen Werte (punkte < 0 or punkte > 100). Danach kannst du bequem von oben nach unten mit >= 90, >= 75 usw. prüfen!
if punkte < 0 or punkte > 100:
return "Ungültige Punktezahl"
elif punkte >= 90:
return "Sehr gut"
# ...
🔍 Tipp zu TODO 3 (Modulo % & Schaltjahre)
Mit dem Modulo-Operator % prüfst du die Teilbarkeit (Restwert der Division ist 0):
if (jahr % 4 == 0 and jahr % 100 != 0) or (jahr % 400 == 0):
return True
return False
5. 🧪 Automatische Tests & Überprüfung
Führe das Testskript im Terminal aus:
python3 test_aufgabe.py
Oder teste das interaktive Programm mit eigenen Eingaben:
python3 aufgabe.py