Die Webseiten der Fachschaft Informatik am ERG Saalfeld
elif
Bei Mehrfachverzweigungen kann die if-Anweisung beliebig geschachtelt werden.
Für den Fall, dass verschiedene Fälle der Reihe nach abgearbeitet werden sollen, gibt es die elif-Anweisung.
Pseudocode
punkte = 12
wenn punkte größer oder gleich 13
dann schreibe 'sehr gut'
wenn punkte zwischen 10 und 12 liegen
dann schreibe 'gut'
wenn punkte zwischen 7 und 9 liegen
dann schreibe 'befriedigend'
wenn punkte gleich 5 oder gleich 6 sind
dann schreibe 'genügend'
sonst
schreibe 'geht gar nicht'
Programm
punkte = 12
#der "Einser"-Bereich
if punkte >= 13:
print("sehr gut")
#das wäre eine 2
elif punkte >= 10:
print("gut")
#das wäre eine 3
elif (punkte <=9) and (punkte >= 7):
print("befriedigend")
#das wäre eine 4 und noch bestanden
elif (punkte == 6) or (punkte == 5):
print("genügend")
#diese Punktzahl ist indiskutabel!
else:
print("geht gar nicht")
Anmerkung: in diesem Beispiel mit Punkte gleich 12 wird zuerst überprüft, ob die Punktzahl größer/gleich 13 ist.
Da das nicht der Fall ist, wird überprüft, ob die Punktzahl größer/gleich 10 ist. Da das gilt,
wird 'gut' ausgegeben und die Anweisung verlassen.
Aufgaben
- Bringen Sie das Programm zum Laufen und testen Sie dieses.
- Ergänzen Sie das Programm so, dass die Punktezahl beim Aufruf als Parameter übergeben wird.
- Für den 3er-Bereich reicht eine Bedingung. Verkürzen Sie diese elif-Zeile und eliminieren Sie das and.
- Auch für den 4er-Bereich reicht eine Bedingung. Verkürzen Sie diese elif-Zeile und eliminieren Sie das or.
- Erstellen Sie zu dem Programm ein Struktogramm.
- Ändern Sie das Programm so ab, dass es entsprechend der bekannten Punktegrenzen die Noten angibt.
- Ändern Sie das Programm so ab, dass bei falscher Eingabe (> 15 bzw. < 0) eine entsprechende Meldung kommt.
zurück
© ERG Saalfeld - HD. Kirmse + Dustin Wiese letztes Update: 3.08.2022
|