Python if
Mit einem Pythonprogramm kannst du deinen Computer eine Reihe von Aufgaben erledigen lassen. Aber was tust du, wenn du manche Schritte nur unter ausgewählten Bedingungen ausführen willst? Dafür gibt es das Python if-Statement (if-Anweisung). Schau dir auch unser passendes Video dazu an!
❤️❤️
Inhaltsübersicht
Python if-Statement einfach erklärt
If-Anweisungen (engl. if-Statements) braucht dein Programm, um Entscheidungen treffen zu können. Jedes if-Statement beginnt mit dem Schlüsselwort if und endet mit einem Doppelpunkt. Dazwischen schreibst du die sogenannte Bedingung (engl. condition). Wenn die Bedingung wahr (engl. True
) ist, wird der Codeblock in der nächsten Zeile ausgeführt. Wenn die Bedingung nicht erfüllt wird und falsch (engl. False
) ist, wird er ignoriert.
1 kaufe_milch = True
2 if kaufe_milch == True:
3 print("Ich gehe Milch einkaufen.")
Ausgabe: Ich gehe Milch einkaufen.
Hier wird in Zeile 2 die Bedingung kaufe_milch == True
gestellt. Die Variable kaufe_milch
muss also gleich True
sein, damit Zeile 3 ausgeführt wird.
Aufgepasst! Alle Zeilen, die zum if-Block gehören, musst du einrücken.
Conditions und Vergleichoperatoren
Verwechsle auch nicht den Vergleichsoperator (==
) mit dem Zuweisungsoperator (=
). Wenn du Zeile 2 nur mit einem „=“ schreibst (if kaufe_milch = True:
), weist du der Variable den Wert True
zu und das if-Statement wird immer ausgeführt. Sogar wenn kaufe_milch
, eigentlich ungleich True
ist!
1 kaufe_milch = False
2 if kaufe_milch = True:
3 print("Ich gehe Milch einkaufen.")
Ausgabe: Ich gehe Milch einkaufen.
In Python If-Schleifen kannst du viele verschiedene Bedingungen (engl. conditions) stellen. Hier ist eine Liste der wichtigsten Vergleichsoperatoren.
Der Vergleichsoperator … | … stellt die Frage: |
a == b | Ist a das Gleiche wie b? |
a != b | Ist a nicht das Gleiche wie b? |
a < b | Ist a kleiner als b? |
a <= b | Ist a kleiner oder gleich b? |
a > b | Ist a größer als b? |
a >= b | Ist a größer oder gleich b? |
Python if and
Falls dein Programm mehrere Bedingungen erfüllen muss, kannst du das mit dem Befehl and lösen. Gibst du dann deinem if-Statement zwei Bedingungen, wird der Code-Block nur ausgeführt, wenn beide wahr (True
) sind.
1 zahl = 3
2 if zahl < 4 and zahl > 0:
3 print("Zahl liegt zwischen 0 und 4.")
Ausgabe: Zahl liegt zwischen 0 und 4.
Python if or
Wenn mindestens eine deiner Bedingungen erfüllt sein soll, brauchst du den or Befehl. Sobald eine oder alle mit or verknüften Bedingungen wahr (True
) ist, wird der if-Block ausgeführt.
1 zahl = 3
2 if zahl == 3 or zahl == 2:
3 print("Zahl ist entweder gleich 3 oder 2.")
Ausgabe: Zahl ist entweder gleich 3 oder 2.
Python if else
Natürlich kann Python auch schwierigere Entscheidungen treffen. Benutze eine else-Anweisung, um deinem Programm eine Alternative anzubieten, falls es den if-Block nicht ausführt. Hier wird die Bedingung in Zeile 2 nicht erfüllt (a < 4
). Daher springt das Programm zum else-Block in Zeile 5. Einrücken nicht vergessen!
1 a = 5
2 if a < 4:
3 print("a ist kleiner als 4.")
4 else:
5 print("a ist nicht kleiner als 4.")
Ausgabe: a ist nicht kleiner als 4.
Wenn in der if-Abfrage allerdings True
herauskommt, überspringt Python den else-Block. Es wird also entweder der if-Block oder der else-Block ausgeführt.
1 a = 3
2 if a < 4:
3 print("a ist kleiner als 4.")
4 else:
5 print("a ist nicht kleiner als 4.")
Ausgabe: a ist kleiner als 4.
Python inline if
Falls du nur einen einzelnen Befehl in dein if-Statement schreiben willst, kannst du auch Kurzschreibweisen (engl. short hand) benutzen. In Zeile 2 steht eine einfache if-Anweisung. Zeile 3 ist das short hand für einen einfachen if-else-Block. print("a ist gleich b.")
wird ausgeführt, wenn die Bedingung wahr (True
) ist und print("a ist nicht gleich b.")
, wenn die Bedingung falsch ist (False
).
1 a, b = 3, 5
2 if a == b: print("a ist gleich b.")
3 print("a ist gleich b.") if a == b else print("a ist nicht gleich b.")
Ausgabe: a ist nicht gleich b.
Verschachtelte if-Statements
Es ist auch möglich, mehrere if-Anweisungen ineinander zu schachteln. Das heißt verschachtelte if-Anweisung (engl. nested if-statement). Aber aufgepasst! Vergiss nicht, jeden if-Block ein Stück weiter einzurücken. Außerdem kannst du häufig anstelle von nested if-Statements eine einzige Anweisung mit den Befehlen and und or benutzen.
1 a, b, c = 1, 3, 5
2 if a < b:
3 if a < c:
4 print("a ist kleiner als b und c.")
for-Schleife
Jetzt hast du die if-Anweisung verstanden. Das ist einer der wichtigsten Aspekte von Python. Besonders nützlich können dir if-Statements sein, wenn du sie mit einem for-Loop kombinierst. Schau dir gleich mal unser Video dazu an!