Mit If-Bedingungen kann man bestimmte Prozesse ablaufen lassen, sobald gewisse Anforderungen erfüllt sind.
Manchmal möchten wir nicht, dass Befehle immer ausgeführt werden. Auf einigen Videoplattformen ist eine Altersüberprüfung vorgeschrieben. Zugriff zur Website gibt es also nur, wenn das Alter 18 oder höher ist. Dieses Problem löst man mit sogenannten If-Bedingunen. Wie der Name sagt, beginnt eine If-Bedingung mit „if“. Darauf folgt die Beschreibung der Bedingung – in unserem Fall muss das Alter größer-gleich 18 sein:
if alter >= 18:
videos_anzeigen()
Wenn der ehrliche Websitebesucher zugibt, dass er unter 18 ist, sollte er weitergeleitet werden. Dafür müssen wir keine zweite Bedingung schreiben, sondern führen die Bedingung weiter mit dem sogenannten „else“-Statement. Else nimmt alle Fälle auf, für die die if-Bedingung nicht gilt.
if alter >= 18:
videos_anzeigen()
else:
urkunde_fuer_ehrlichkeit_ueberreichen()
Damit meinte ich natürlich nur Horrorfilme. Wir wollen aber nun Thriller für Ü16-Jährige erlauben. Wir brauchen also etwas zwischen else und if. Praktischerweise heißt der Befehl auch „elif“. Damit können wir eine Zwischenbedingung setzen, wenn die vorherige Bedingung nicht erfüllt ist. Wir können so viele elifs aneinanderketten wie wir möchten.
If alter >= 18:
horrorfilme_anzeigen()
elif alter >= 16:
thrillerfilme_anzeigen()
else:
urkunde_fuer_ehrlichkeit_ueberreichen()
Mehrere Bedingungen gleichzeitig
and-Bedingungen
|
Günstig |
Teuer |
Obst |
Kaufen |
Kaufen |
Süßigkeiten |
Kaufen |
Nicht kaufen |
if einkauf == "Obst":
print("Kauf das")
elif einkauf == "Süßigkeiten" and preis == "günstig":
print("Kauf das")
else:
print("Kauf das nicht")
or-Bedingungen
Mit dem or-Operator kann man in Python zwei Bedingungen miteinander verbinden. Wenn mindestens eine von den beiden erfüllt ist, gilt die gesamte Bedingung als erfüllt.
essen = "Chips"
If essen == "Chips" or essen == "Schokolade":
print("Das ist mein Lieblingsfrühstück!")
### Output:
# Das ist mein Lieblingsfrühstück!
Bei or-Bedingungen wird also nur dann nichts zurückgegeben, wenn beide Bedingungen nicht zutreffen.
| == „Chips“ | == „Schokolade“ | Gesamte Bedingung |
Chips | True | False | True |
Schokolade | False | True | True |
Toast | False | False | False |
In-Bedingung
Mit dem in-Operator können wir abfragen, ob unser Wert in einer Liste auftaucht. Wir können z.B. einen Staat eingeben und nachschauen lassen, ob der Staat ein Mitglied der EU ist:
eu_liste = ["Belgien","Bulgarien","Dänemark","Deutschland","Estland", …]
unser_staat = "Schweiz"
if unser_staat in eu_liste:
print(f"{unser_staat} ist ein Teil der Europäischen Union"}
else:
print(f"{unser_staat} ist kein Teil der Europäischen Union"}
### Output:
# Schweiz ist kein Teil der Europäischen Union