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

  1. Bringen Sie das Programm zum Laufen und testen Sie dieses.
  2. Ergänzen Sie das Programm so, dass die Punktezahl beim Aufruf als Parameter übergeben wird.
  3. Für den 3er-Bereich reicht eine Bedingung. Verkürzen Sie diese elif-Zeile und eliminieren Sie das and.
  4. Auch für den 4er-Bereich reicht eine Bedingung. Verkürzen Sie diese elif-Zeile und eliminieren Sie das or.
  5. Erstellen Sie zu dem Programm ein Struktogramm.
  6. Ändern Sie das Programm so ab, dass es entsprechend der bekannten Punktegrenzen die Noten angibt.
  7. Ä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