Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Entscheidungen mit if, elif und else

Nach dieser Lektion: Ich kann ein Programm mit if, elif und else zwischen Fällen wählen lassen.

Lektion, 55 Min.5 BefehleLab „Linux im Alltag“: die dreißig Befehle, die Entwickelnde auswendig tippen

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

BegriffWas er bedeutetBeispiel
Bedingungeine Aussage, die wahr oder falsch istalter < 18
Vergleichein Ausdruck, der zwei Werte prüftalter >= 65
Wahrheitswertder Wert True (wahr) oder False (falsch)
Einrückungdie Leerzeichen am Zeilenanfang, die einen Block zeigen
Funktionein 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

VergleichErgebnisBedeutung
alter == 18Truegleich
alter != 18Falseungleich
alter < 18Falsekleiner
alter <= 18Truekleiner oder gleich
alter > 18Falsegrößer
alter >= 18Truegrößer oder gleich

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Einen Vergleich im Terminal prüfen

Befehl
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

Befehl
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

Code: python
# 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

Befehl
printf 'alter = 15\nif alter < 6:\n    print("frei")\nelif alter < 18:\n    print("ermaessigt")\nelse:\n    print("voll")\n' > ticket.py

Hier 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

Befehl
python3 ticket.py

Hier 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

ABA and BA or Bnot A
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseTrueFalseTrueTrue
FalseFalseFalseFalseTrue

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Bedingungen verbinden

Code: python
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

Befehl
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.

Über dieses Lab und seinen Quellcode: Lab „Linux im Alltag“: die dreißig Befehle, die Entwickelnde auswendig tippen

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.