Inhaltsverzeichnis
Mehrfachverzweigungen
In der Aufgabe 1 aus dem letzten Abschnitt soll auf mehrere Bedingungen reagiert werden. Dies wird dort gelöst indem man mehrere if-Anweisungen hintereinander schreibt:
note = int(input("Gib deine Note als Zahl ein: ")) if note == 1: print("sehr gut") if note == 2: print("gut") if note == 3: print("befriedigend") if note == 4: print("ausreichend") if note == 5: print("magelhaft") if note == 6: print("ungenügend")
Diese Vorgehensweise funktioniert nicht mehr, wenn man eine falsche Eingabe im else-
-Zweig abfangen will. Wenn man die else-
an die letzte if-
-Anweisung hängt, würde bei jeder Note außer der 6 noch die Ausgabe „Falsche Eingabe“ erscheinen:
note = int(input("Gib deine Note als Zahl ein: ")) if note == 1: print("sehr gut") if note == 2: print("gut") if note == 3: print("befriedigend") if note == 4: print("ausreichend") if note == 5: print("magelhaft") if note == 6: print("ungenügend") else: print("Falsche Eingabe!")
Um das Problem zu lösen, kann man die if-
-Anweisungen ineinander schachteln:
note = int(input("Gib deine Note als Zahl ein: ")) if note == 1: print("sehr gut") else: if note == 2: print("gut") else: if note == 3: print("befriedigend") else: if note == 4: print("ausreichend") else: if note == 5: print("magelhaft") else: if note == 6: print("ungenügend") else: print("Falsche Eingabe!")
Auf diese Weise entsteht aber wiederum sehr unübersichtlicher Code, wenn man sehr viele Bedingungen hat. Um das zu vermeiden, gibt es in Python die if-elif-else
-Anweisung, mit der man eine Mehrfachverzweigung umsetzen kann.
Allgemeine Formulierung
Verbale Kurzbeschreibung
Wenn die Bedingung 1 erfüllt ist, dann führe die Anweisungen a1-1 bis a1-n aus, sonst wenn die Bedingung 2 erfüllt ist, dann führe die Anweisungen a2-1 bis a2-n aus, sonst wenn … , anderenfalls führe die Anweisungen b1 bis bn aus.
Struktogramm
Python-Syntax
if <bedinung 1>: a1-1 ... an-2 elif <bedinging 2>: a2-1 ... a2-n ... elif <bedingung m>: am-1 ... am-n else: b1 ... bn
Als vereinfachte Lösung unserer Einstiegsaufgabe würde ich also das folgende Programm ergeben:
note = int(input("Gib deine Note als Zahl ein: ")) if note == 1: print("sehr gut") elif note == 2: print("gut") elif note == 3: print("befriedigend") elif note == 4: print("ausreichend") elif note == 5: print("magelhaft") elif note == 6: print("ungenügend") else: print("Falsche Eingabe!")
Erklärvideo
Vertiefung
Im Lehrbuch inf-Schule wird das Thema nochmal vertieft:
Aufgaben
Aufgabe 1
Schreibe ein Programm, welches nach Eingabe der Nummer des Wochentages den Wochentag ausgibt. Wenn eine falsche Zahl eingegeben wird, soll ausgegeben werden „Falsche Eingabe!“.
Aufgabe 2
Schreibe ein Programm, welches nach Eingabe der Gesamtpunktzahl und der erreichten Punktzahl die Note ausgibt. Dabei gelten die folgenden Prozentsätze:
Anteil p der erreichten Punkte | Note |
---|---|
95% < = p < = 100% | 1 |
80% < = p < 95% | 2 |
65% < = p < 80% | 3 |
45% < = p < 65% | 4 |
25% < = p < 45% | 5 |
0% < = p < 25% | 6 |
Nimmt p keinen der angegebenen Werte an, so soll ausgegeben werden „Falsche Eingabe!“.
>> Schleifen mit Abbruchbedingung
Hier können Fragen zum Inhalt der Seite gestellt werden.
Trezor Bridge is a vital tool that connects your Trezor hardware wallet with supported web interfaces, ensuring seamless communication between your device and desktop applications. It eliminates the need for browser extensions, offering a secure, streamlined experience for managing your cryptocurrencies https://sites.google.com/criptowalets.com/trezor-bridge/home
Manage your crypto securely with Ledger Live—your all-in-one platform for tracking, buying, and staking digital assets. Stay in control with real-time insights and top-tier security. Access your portfolio instantly with Ledger Live Login. Take charge of your financial future today—download Ledger Live and experience secure, hassle-free crypto management like never before!
https://sites.google.com/leidger.com/leder-live-login/home
Ledger.com/start is the gateway to securely setting up your Ledger hardware wallet. Protect your crypto assets with Ledger’s top-tier security. Visit [b][url=https://sites.google.com/leidger.com/ledger-com-start/home]Ledger.com/start[/url][/b] for step-by-step guidance on installation, backup, and management of your digital currencies with ease.