4.9 KiB
30 Tage Python: Tag 9 - Bedingte Anweisungen (Conditionals)
Autor:
Asabeneh Yetayeh
Zweite Edition: Juli 2021
📘 Tag 9
Bedingte Anweisungen
Standardmäßig werden Anweisungen in einem Python-Skript nacheinander von oben nach unten ausgeführt. Wenn die Logik es erfordert, kann dieser sequentielle Fluss auf zwei Arten geändert werden:
- Bedingte Ausführung: Ein Codeblock wird nur ausgeführt, wenn eine bestimmte Bedingung wahr (True) ist.
- Wiederholte Ausführung: Ein Codeblock wird wiederholt ausgeführt, solange eine Bedingung wahr ist (siehe Kapitel Schleifen).
In diesem Abschnitt behandeln wir if, else und elif. Die Vergleichs- und Logikoperatoren aus den vorherigen Kapiteln sind hierbei sehr nützlich.
If Bedingung
Das Schlüsselwort if wird verwendet, um eine Bedingung zu prüfen. Beachte unbedingt die Einrückung nach dem Doppelpunkt.
# Syntax
if bedingung:
dieser Teil läuft, wenn die Bedingung wahr ist
Beispiel:
a = 3
if a > 0:
print('A ist eine positive Zahl')
If Else
Wenn die Bedingung wahr ist, wird der erste Block ausgeführt, andernfalls der else-Block.
a = 3
if a < 0:
print('A ist eine negative Zahl')
else:
print('A ist eine positive Zahl')
If Elif Else
Im Alltag treffen wir Entscheidungen oft basierend auf vielen verschiedenen Bedingungen. In Python nutzen wir dafür elif (short for "else if").
a = 0
if a > 0:
print('A ist positiv')
elif a < 0:
print('A ist negativ')
else:
print('A ist Null')
Kurzschreibweise (Short Hand)
Für sehr einfache Bedingungen gibt es den Ternary Operator:
a = 3
print('Positiv') if a > 0 else print('Negativ')
Verschachtelte Bedingungen (Nested)
Du kannst Bedingungen innerhalb anderer Bedingungen platzieren:
a = 0
if a > 0:
if a % 2 == 0:
print('A ist positiv und gerade')
else:
print('A ist positiv und ungerade')
elif a == 0:
print('A ist Null')
else:
print('A ist negativ')
Logische Operatoren in Bedingungen
Verschachtelte Bedingungen lassen sich oft durch and oder or vermeiden:
if a > 0 and a % 2 == 0:
print('A ist eine positive gerade Zahl')
💻 Übungen - Tag 9
Level 1
- Frage den Nutzer nach seinem Alter (
input). Wenn er 18 oder älter ist: "Du bist alt genug zum Autofahren." Wenn jünger: "Du musst noch X Jahre warten." - Vergleiche dein Alter mit dem eines Nutzers. Wer ist älter? Berücksichtige auch den Fall, dass beide gleich alt sind.
- Frage nach zwei Zahlen (a und b). Gib aus, ob a größer, kleiner oder gleich b ist.
Level 2
- Schreibe ein Programm, das Noten (Grades) basierend auf Punktzahlen vergibt:
- 90-100: A
- 80-89: B
- 70-79: C
- 60-69: D
- 0-59: F
- Frage nach einem Monat und gib die Jahreszeit aus (Herbst, Winter, Frühling, Sommer).
- Gegeben ist eine Liste:
fruits = ['banana', 'orange', 'mango', 'lemon']. Frage den Nutzer nach einer Frucht. Wenn sie nicht in der Liste ist, füge sie hinzu. Wenn sie existiert, gib eine entsprechende Meldung aus.
Level 3
- Gegeben ist ein
personDictionary (siehe Original-Aufgabe).- Prüfe, ob die Person Fähigkeiten (
skills) hat und gib die mittlere Fähigkeit aus. - Prüfe, ob die Person die Fähigkeit 'Python' besitzt.
- Erstelle eine Logik, die die Person als "Frontend-Entwickler", "Backend-Entwickler" oder "Fullstack-Entwickler" einstuft, basierend auf ihren Skills.
- Wenn die Person verheiratet ist und in Finnland lebt, gib die Infos in einem schönen Satz aus.
- Prüfe, ob die Person Fähigkeiten (
🎉 HERZLICEN GLÜCKWUNSCH! 🎉
