Python – 03 Wahrheitswerte und Kontrollstrukturen
Voraussetzungen
Bevor du mit diesem Modul startest, solltest du bereits vertraut sein mit:
- Python – 02 Rechnen mit Integer und Floats - Rechnen mit Zahlen in Python
Lernziele
In dieser Lektion lernen Sie:
- Booleans (True/False) nutzen
- Vergleichsoperatoren anwenden
- Logische Operatoren kombinieren
- if-elif-else Bedingungen schreiben
- Verschachtelte Bedingungen verstehen
Was sind Booleans?
Booleans (sprich: Bu-li-äns) sind Wahrheitswerte. Sie können nur zwei Zustände haben: wahr oder falsch. In Python schreibt man diese als True (wahr) und False (falsch).
Grundgerüst
| |
Der Datentyp für Wahrheitswerte heißt in Python bool (kurz für Boolean). Du kannst ihn mit type() prüfen:
| |
Wichtig zu wissen
In Python müssen True und False IMMER mit einem Großbuchstaben am Anfang geschrieben werden. true oder false (kleingeschrieben) funktioniert nicht und gibt einen Fehler!
Warum sind Booleans wichtig?
Booleans sind die Grundlage für Entscheidungen in deinem Programm. Dein Code kann unterschiedliche Dinge tun, je nachdem ob etwas wahr oder falsch ist.
Stell dir vor, du programmierst ein Spiel:
- Ist der Spieler am Leben? →
TrueoderFalse - Hat der Spieler gewonnen? →
TrueoderFalse - Ist das Level abgeschlossen? →
TrueoderFalse
Vergleichsoperatoren
Mit Vergleichsoperatoren kannst du Werte vergleichen. Das Ergebnis ist immer ein Boolean (True oder False).
| Operator | Bedeutung | Beispiel | Ergebnis |
|---|---|---|---|
== | gleich | 5 == 5 | True |
!= | ungleich | 5 != 3 | True |
< | kleiner als | 3 < 5 | True |
> | größer als | 5 > 3 | True |
<= | kleiner oder gleich | 5 <= 5 | True |
>= | größer oder gleich | 3 >= 5 | False |
Spezialfall: Modulo-Operator %
| |
Beispiele:
| |
Aufgabe 1: Erste Vergleiche
- Erstelle eine Variable
alterund weise ihr dein Alter zu. - Prüfe mit Vergleichsoperatoren:
- Ist dein Alter größer als 15?
- Ist dein Alter gleich 16?
- Ist dein Alter ungleich 100?
- Gib alle drei Vergleiche mit
print()aus.
Logische Operatoren
Manchmal möchtest du mehrere Bedingungen kombinieren. Dafür gibt es logische Operatoren:
and (und)
Beide Bedingungen müssen wahr sein, damit das Ergebnis True ist.
| |
or (oder)
Mindestens eine Bedingung muss wahr sein, damit das Ergebnis True ist.
| |
not (nicht)
Kehrt den Wahrheitswert um: aus True wird False und umgekehrt.
| |
Kombinierte Beispiele:
| |
Wahrheitstabellen
and-Operator:
True and True→TrueTrue and False→FalseFalse and True→FalseFalse and False→False
or-Operator:
True or True→TrueTrue or False→TrueFalse or True→TrueFalse or False→False
if-else-Bedingungen
Mit if kannst du deinen Code nur dann ausführen lassen, wenn eine Bedingung wahr ist.
Einfaches if-else
| |
Du kannst auch einen else-Block hinzufügen für den Fall, dass die Bedingung falsch ist:
| |
if-elif-else
Mit elif (else if) kannst du mehrere Bedingungen prüfen:
| |
Verschachtelte Bedingungen
Tipp
\n Ist das Zeichen für “neue Zeile” im Terminal
Du kannst if-Bedingungen ineinander verschachteln, um komplexere Entscheidungen zu treffen.
Beispiel: Ratespiel
| |
Praktische Beispiele mit if-else
Mit dem folgenden Code wird geprüft, ob die Variable zahl den Wert 3 hat oder nicht. Je nach dem, ob die Bedingung erfüllt ist oder nicht, wird eine andere Anweisung befolgt.
| |
Aufgabe 2: Ratespiel mit Verschachtelung
Mit Python kannst du auch ein kleines Ratespiel erstellen. Dafür musst du if-else-Bedingungen verschachteln. Wie das funktioniert, klären wir an einem Beispiel erst einmal visuell mithilfe eines sogenannten Flussdiagramms:
- Nutzer wird nacheinander gefragt.
- Seine Angabe wird gespeichert.
- Die Bedingungen werden geprüft.

Der Nutzer soll immer wieder gefragt werden und eine Eingabe machen, dafür sorgt der folgende Teil.
| |
Der vollständige Code zu dem Ratespiel oben sieht so aus:
| |
- Probiere den Code oben aus und erkläre:
| |
Aufgabe 3: elif-Statement
if-else-Bedingungen lassen sich verschachteln, um mehr als nur genau 2 Fälle zu unterscheiden. Das kann schnell unübersichtlich werden. Man kann auch elif nutzen!
Beispiel
| |
- Probiere das Beispiel aus. Gib auch mal etwas Ungültiges ein. Was passiert?
- Ändere den Code so, dass geprüft wird, ob eine Zahl kleiner, gleich oder größer als 17 ist.
- Erstelle eine neue Version deines Ratespiels, bei dem du ein elif-Statement nutzt, um ungültige Eingaben abzufangen. Schau dir den Tipp möglichst spät an. (a)
- Schau dir meine Lösung unter Tipp an und erstelle ein Flussdiagramm (Begriff: siehe Aufgabe 3) zu dem Code in dem Tipp. Der Code dort ist etwas anders als der in Aufgabe 3. Du kannst diese Seite dafür nutzen. (a)
- Erstelle ein Flussdiagramm zu deiner Lösung aus Teilaufgabe 3, also zu deinem eigenen Ratespiel mit elif-Statements. (a)
Tipp
Mit meinem Ratespiel oben hätte man:
| |
Aufgabe 4: Logische Operatoren (and/or)
Erstelle einen Code der folgende Kriterien erfüllt (a):
- Du als Programmierer:in gibst zwei Werte für zwei Variablen vor.
- Die gespeicherten Werte werden in einem if-else-Codeblock beide geprüft.
- Unterscheide folgende Fälle:
- beide Bedingungen werden erfüllt
- mindestens eine Bedingung wird erfüllt
- keine Bedingung wird erfüllt
Grundgerüst:
| |
Beispiel:
| |
Wahrheitswerte verschiedener Datentypen
In Python haben nicht nur Booleans einen Wahrheitswert. Fast alle Werte können als wahr oder falsch interpretiert werden:
Als False interpretiert werden:
False(natürlich)0(Zahl Null)""(leerer String)[](leere Liste)None(spezieller Wert für “nichts”)
Als True interpretiert werden:
True(natürlich)- Alle Zahlen außer 0
- Alle nicht-leeren Strings
- Alle nicht-leeren Listen
Beispiele
| |
Du kannst mit bool() jeden Wert in einen Boolean umwandeln:
| |
Aufgabe 5: Wahrheitswerte testen
- Erstelle eine Liste mit verschiedenen Werten: Zahlen, Strings, leere Strings, 0, etc.
- Gib für jeden Wert aus, ob er als
TrueoderFalseinterpretiert wird - Nutze dafür die
bool()-Funktion
Aufgaben
Aufgabe 6: Altersprüfung
Schreibe ein Programm, das:
- Nach dem Alter fragt (nutze
input()und konvertiere zuint) - Prüft, ob die Person volljährig ist (18 oder älter)
- Eine entsprechende Nachricht ausgibt
| |
Aufgabe 7: Notenrechner
Erstelle einen einfachen Notenrechner:
- Der Benutzer gibt seine Punktzahl ein (0-100)
- Das Programm gibt die entsprechende Note aus:
- 90-100 Punkte: “Sehr gut”
- 80-89 Punkte: “Gut”
- 70-79 Punkte: “Befriedigend”
- 60-69 Punkte: “Ausreichend”
- unter 60: “Nicht bestanden”
| |
Aufgabe 8: Login-System
Erstelle ein einfaches Login-System:
- Definiere einen korrekten Benutzernamen und ein Passwort als Variablen
- Frage den Benutzer nach Benutzername und Passwort
- Prüfe mit
and, ob beides korrekt ist - Gib “Login erfolgreich!” oder “Falsche Anmeldedaten!” aus
Hinweis: Denke daran, dass Groß- und Kleinschreibung bei Strings wichtig ist!
Aufgabe 9: Schaltjahr-Prüfer
Schreibe ein Programm, das prüft, ob ein Jahr ein Schaltjahr ist.
Regeln für Schaltjahre:
- Ein Jahr ist ein Schaltjahr, wenn es durch 4 teilbar ist
- ABER: Wenn es durch 100 teilbar ist, ist es KEIN Schaltjahr
- AUSSER: Wenn es durch 400 teilbar ist, ist es doch ein Schaltjahr
Tipp: Der Modulo-Operator % gibt den Rest einer Division zurück.
jahr % 4 == 0bedeutet: Jahr ist durch 4 teilbar (Rest ist 0)
Lösung zeigen
| |
Flask-Anwendung
Du hast gerade gelernt, wie man Bedingungen in Python nutzt. In Flask kannst du diese Logik im Backend verwenden!
Voraussetzung für diese Aufgabe
Du solltest bereits Flask – 01 Erste Schritte durchgearbeitet haben. Wenn nicht, hole das jetzt nach.
Altersprüfung in Flask
Setze die Altersprüfung aus Aufgabe 6 in eine Flask-Anwendung um.
Anforderungen:
- Erstelle eine Route
/alter-checkmit GET und POST - Zeige ein Formular, wo der Benutzer sein Alter eingeben kann
- Nach dem Absenden: Prüfe in Python mit if-else, ob volljährig
- Übergib das Ergebnis als Text ans Template
Tipp: Die if-else Logik machst du in Python, nicht im Template!
Lösung zeigen
| |
| |
| |