Python für Anfänger · Teil 6TutorialEinsteiger

Python

Python für Anfänger – Teil 6: Entscheidungen mit if, elif und else

Lass dein Programm Werte vergleichen und abhängig vom Ergebnis unterschiedliche Schritte ausführen.

Veröffentlicht am

3 Minuten Lesezeit

Voraussetzungen

Du kennst die Inhalte aus Teil 5 und arbeitest mit einem lokalen Python-3-Interpreter (ab Python 3.10), beispielsweise in Thonny.

Das lernst du in dieser Lektion

  • Vergleiche formulieren.
  • Bedingungsblöcke einrücken.
  • And, or und not einsetzen.

Reicht das Filament?

Ein Programm soll aus einer Restmenge und einem Materialbedarf entscheiden, ob ein Auftrag möglich ist. Dafür verwenden wir eine Bedingung:

rest_g = 150
bedarf_g = 165

if rest_g >= bedarf_g:
    print("Das Filament reicht.")
else:
    print("Bitte eine weitere Rolle bereitstellen.")

Speichere filament_pruefen.py. >= bedeutet „größer oder gleich“. Das Ergebnis eines Vergleichs ist True oder False. Nach if steht ein Doppelpunkt. Die vier Leerzeichen vor print() zeigen, dass die Zeile zum jeweiligen Zweig gehört.

Ändere rest_g auf 200 und starte erneut. Nun wählt Python den ersten Zweig. Eine nach dem ganzen Block wieder links stehende Anweisung wird unabhängig vom gewählten Zweig ausgeführt.

Vergleichsoperatoren

Zeichen Bedeutung
== gleich
!= ungleich
<, > kleiner, größer
<=, >= kleiner oder gleich, größer oder gleich

= weist einen Wert zu, == vergleicht. Für den Vergleich zweier gewöhnlicher Werte verwendest du nicht is; dieses Schlüsselwort hat einen anderen Zweck.

Mehr als zwei Fälle

rest_g = 80
bedarf_g = 100

if rest_g < 0 or bedarf_g <= 0:
    print("Bitte gültige Mengen verwenden.")
elif rest_g < bedarf_g:
    print("Material reicht nicht.")
else:
    print("Auftrag kann vorbereitet werden.")

elif steht für eine weitere Bedingung, else für alle verbleibenden Fälle. Python nimmt in dieser Kette nur den ersten zutreffenden Zweig. Die Prüfung auf ungültige Werte steht deshalb zuerst.

Bedingungen kombinieren

and verlangt, dass beide Bedingungen zutreffen. Bei or reicht mindestens eine. not kehrt den Wahrheitswert um. Ein Temperaturbereich lässt sich mit temperatur >= 200 and temperatur <= 220 prüfen; Python erlaubt auch die kürzere Form 200 <= temperatur <= 220.

Ein Wahrheitswert kann direkt als Bedingung dienen: Bei freigegeben = True ist if freigegeben: ausreichend. Ein leerer String wird in einer Bedingung als unwahr behandelt, ein nicht leerer als wahr. Der Text "False" ist daher wahr, obwohl das Wort anders klingt.

Grenzen gezielt testen

Teste für einen Bedarf von 100 g die Restmengen 99, 100 und 101 g. So erkennst du, ob die Gleichheit zum passenden Fall gehört. Ein einzelner erfolgreicher Versuch sagt wenig darüber aus, ob Grenzfälle stimmen.

Mitmach-Aufgabe

Prüfe eine simulierte Temperatur. Unter 200: „Zu kalt“, von 200 bis einschließlich 220: „Im Zielbereich“, darüber: „Zu warm“. Das ist nur eine Programmierübung und keine Freigabe für eine reale Heizung.

Versuche die Aufgabe zuerst selbst. Vergleiche danach deinen Ansatz mit der Musterlösung. Andere Lösungen sind möglich, wenn sie dieselben Anforderungen erfüllen.

Musterlösung

temperatur = 210
if temperatur < 200:
    print("Zu kalt")
elif temperatur <= 220:
    print("Im Zielbereich")
else:
    print("Zu warm")

Ergebnis prüfen

Für 199, 200, 220 und 221 entstehen der Reihe nach Zu kalt, Im Zielbereich, Im Zielbereich und Zu warm.

Typische Stolperstellen

Ein Doppelpunkt ersetzt keine Einrückung. Mehrere unabhängige if-Blöcke können mehrere Ausgaben erzeugen; eine if/elif/else-Kette wählt genau einen Zweig.

Was du jetzt kannst

  • Vergleiche formulieren.
  • Bedingungsblöcke einrücken.
  • And, or und not einsetzen.

Passendes Cheatsheet

Zum Nachschlagen: Cheatsheet 05 – Bedingungen mit if, elif und else. Dort findest du auch den vorhandenen PDF-Download.

Im nächsten Teil

In Teil 7 geht es um Wiederholungen mit for und range. Erzeuge wiederkehrende Ausgaben und Berechnungen, ohne dieselben Zeilen mehrfach zu kopieren.

← Teil 5 · Kursübersicht · Weiter zu Teil 7 →