if lässt ein Programm eine Entscheidung treffen
Mit if, elif und else lässt ein Python-Programm eine Entscheidung treffen: Es führt Zeilen nur aus, wenn eine Bedingung wahr ist. So wählt eine Kasse den richtigen Preis, ohne dass jemand eingreift.
Ein Museum verlangt je nach Alter einen anderen Eintritt. Am Sonntag kommt ein Zuschlag dazu. Mit drei Werkzeugen schreiben Sie diese Regeln als Programm.
Am Ende dieser Lektion
Notiz
Ich kann ein Programm mit if, elif und else zwischen Fällen wählen lassen.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Bedingung | eine Aussage, die wahr oder falsch ist | alter < 18 |
| Vergleich | ein Ausdruck, der zwei Werte prüft | alter >= 65 |
| Wahrheitswert | der Wert True (wahr) oder False (falsch) | |
| Einrückung | die Leerzeichen am Zeilenanfang, die einen Block zeigen | |
| Funktion | ein benannter Block, der mit return einen Wert abgibt |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein Vergleich ergibt wahr oder falsch
Ein Vergleich prüft zwei Werte und ergibt True oder False. Die Tabelle zeigt die sechs Vergleiche.
Merken Sie sich: == fragt, ob zwei Werte gleich sind. Ein einzelnes = weist dagegen einen Wert zu.
Ein Beispiel: sechs Vergleiche mit alter = 18
| Vergleich | Ergebnis | Bedeutung |
|---|---|---|
| alter == 18 | True | gleich |
| alter != 18 | False | ungleich |
| alter < 18 | False | kleiner |
| alter <= 18 | True | kleiner oder gleich |
| alter > 18 | False | größer |
| alter >= 18 | True | größer oder gleich |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Einen Vergleich im Terminal prüfen
python3 -c "alter = 17; print(alter >= 18)"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Drei Vergleiche in einer Zeile
python3 -c "print(5 == 5, 5 != 5, 3 < 2)"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein häufiger Fehler
Warnung
Viele halten = und == für dasselbe. = speichert einen Wert, == stellt eine Frage. Schreiben Sie in einem if immer ==, wenn Sie vergleichen wollen.
elif prüft Fälle der Reihe nach
Nach if und jeder Bedingung steht ein Doppelpunkt. Die Zeilen darunter sind um vier Leerzeichen eingerückt und gehören zu diesem Fall.
elif ist ein weiterer Fall, else der Rest. Python prüft von oben nach unten und führt nur den ersten Block aus, dessen Bedingung stimmt. Die Reihenfolge entscheidet also.
Die Kasse des Museums
# Die Kasse eines Museums.
alter = 15
if alter < 6:
print("Eintritt frei")
elif alter < 18:
print("ermäßigt: 4 Euro")
else:
print("voller Preis: 8 Euro")
# Ändern Sie alter auf 3, dann auf 40, und starten Sie jedes Mal neu.
Die Kasse als Datei schreiben
printf 'alter = 15\nif alter < 6:\n print("frei")\nelif alter < 18:\n print("ermaessigt")\nelse:\n print("voll")\n' > ticket.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Kasse starten
python3 ticket.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
and, or und not verbinden Bedingungen
and ist wahr, wenn beide Seiten wahr sind. or ist wahr, wenn mindestens eine Seite wahr ist. not dreht den Wert um.
Die Tabelle zeigt es mit zwei Aussagen: A ist „die Person ist 65 oder älter“, B ist „es ist Sonntag“.
Ein Beispiel: and und or mit zwei Aussagen
| A | B | A and B | A or B | not A |
|---|---|---|---|---|
| True | True | True | True | False |
| True | False | False | True | False |
| False | True | False | True | True |
| False | False | False | False | True |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Bedingungen verbinden
alter = 70
wochentag = "Sonntag"
senior = alter >= 65
print(senior)
print(senior and wochentag == "Sonntag")
print(senior or alter < 6)
print(not senior)
# Welche vier Werte erwarten Sie? Prüfen Sie nach.
and, or und not im Terminal
python3 -c "print(True and False, True or False, not True)"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Weiterführend
Erfinden Sie eine Preisregel für ein Schwimmbad mit drei Altersgruppen und einem Tarif für Gruppen ab zehn Personen. Schreiben Sie sie zuerst als Tabelle.
Setzen Sie die Tabelle dann in if, elif und else um. Prüfen Sie jede Zeile Ihrer Tabelle mit einem eigenen Beispiel.