Entscheiden und wiederholen
Wenn, dann
Etwa 15 Minuten. Lass dir ruhig länger Zeit.
Danach kannst du
- Eine Bedingung schreiben, die einen Wahrheitswert prüft
- Den Unterschied zwischen = und == kennen
Bis jetzt lief alles stur von oben nach unten. Mit einer Bedingung entscheidet das Programm selbst, was passiert.
alter = 20
if alter >= 18:
print("Darf rein")
else:
print("Darf nicht rein")
if heißt „wenn“. Ist die Bedingung wahr, läuft der eingerückte Block darunter.
Sonst der else-Block.
Die Einrückung gehört zur Sprache
In Python sagen die Leerzeichen am Zeilenanfang, was zusammengehört. Vier Leerzeichen sind üblich. Das ist keine Kosmetik — vergisst du sie, ist es ein Fehler.
Python
if alter >= 18:
print("Darf rein")
C#
if (alter >= 18)
{
Console.WriteLine("Darf rein");
}
C# benutzt geschweifte Klammern für dasselbe und ist bei der Einrückung gleichgültig. Beide Sprachen brauchen die Information — sie fragen sie nur unterschiedlich ab.
Ein Gleichheitszeichen oder zwei?
Das ist die Falle:
punkte = 10 # Zuweisung: leg 10 unter dem Namen punkte ab
punkte == 10 # Frage: ist punkte gleich 10?
Zum Vergleichen immer zwei. Ein einzelnes = in einer Bedingung ist in
Python ein Fehler — und in manchen anderen Sprachen schlimmer: Da funktioniert
es und tut still das Falsche.
Die üblichen Vergleiche: == gleich, != ungleich, < > <= >=.
Deine Aufgabe
temperatur steht schon im Editor. Schreib eine Entscheidung, die ausgibt:
"zu kalt", wenn die Temperatur unter 18 liegt"zu warm", wenn sie über 24 liegt"passt"in allen anderen Fällen
Für den mittleren Fall brauchst du elif — das ist „sonst wenn“ und steht
zwischen if und else.
Probier danach ruhig andere Werte für temperatur aus und schau, ob wirklich
alle drei Fälle rauskommen.