Materialien zum Unterricht

Selektion - Selektive Anweisungen

Oft ist es nötig in einem Programm Entscheidungen zu treffen.
Dafür gibt es in Python die Selektiven Anweisungen if, elif und else.
Die Anweisungen if und else findet man auch in den gängigen Programmiersprachen wie Java, JavaScript und C++.

Um mit den Selektiven Anweisungen arbeiten zu können, muss man verstanden haben wie Vergleichsoperatoren in Python funktionieren.

Geh auf die Seite: Vergleichsoperatoren

Sieh dir an, welchen Rückgabewert ein Vergleich liefert.

Bearbeite Aufgabe 1 - Vergleich von Zahlen.

Komm danach auf diese Seite zurück und schau dir die Selektion an.

Grundkonstrukt

Anweisung Codestruktur Bedeutung
if if Bedingung Doppelpunkt Enter Tab Aktion Wenn Bedingung erfüllt ist, dann Aktion
elif elif Bedingung Doppelpunkt Enter Tab Aktion Wenn die vorangegangene if- oder elif-Bedingung nicht erfüllt ist, dann teste diese Bedingung
Wenn Bedingung erfüllt ist, dann Aktion
else else Doppelpunkt Enter Tab Aktion Wenn keine der vorangegangenen if- oder elif-Bedingungen erfüllt wurde, dann Aktion

Das folgende Programm ändert seine Ausgabe, je nachdem welchen Wert x hat.

Teste das Programm mit verschiedenen Werten für x.

Einfache selektive Anweisungen

Aufgabe 1:

Programmname: if-else_a1.py

Betrachte auf der Seite Operatoren den Abschnitt Vergleichsoperatoren.
Bearbeite anschließend Aufgabe 1.

Schreibe einen Code in Python, der eine Zahl einliest.
Die eingelesene Zahl soll mit 10 verglichen werden.
Wenn die Zahl kleiner-gleich 10 ist, lass "Deine Zahl ist kleiner oder gleich 10." ausgeben.
Ist die vorangegangene Bedingung nicht erfüllt: Teste, ob die Zahl kleiner-gleich 20 ist.
Wenn ja: Lass "Deine Zahl liegt zwischen 10 und 20." ausgeben.
Trifft keine der beiden Punkte zu soll: "Deine Zahl ist größer als 20." ausgegeben werden.
Orientiere dich an dem folgenden Programmablaufplan.

Programmablaufplan Zahlenvergleich



Lösung
Lösung ab 15:15 Uhr hier sichtbar




Aufgabe 2:

Teilaufgabe a)

Programmname: if-else_a2.py

Bearbeite auf der Seite Operatoren im Abschnitt Vergleichsoperatoren Aufgabe 2.


Setze das folgende Programm in Python um.

Struktogramm if-else
Tipp 1
Tipp 2
Tipp 3
Tipp 4
Tipp 5
Tipp 6







Lösung
Lösung ab 15:15 Uhr hier sichtbar







Teilaufgabe b)

Bearbeite auf der Seite Operatoren den Abschnitt "Logische Operatoren".

Ergänze die Datei if-else_a2.py so, dass die Eingaben "männlich", "weiblich", "M" und "W" akzeptiert werden und zu einer entsprechenden Ausgabe führen.

Tipp 1

if geschlecht == 'm' or 'mann': funktioniert nicht.

Tipp 2

Der Wert für das Geschlecht muss immer direkt
mit dem möglichen Antworttext verglichen werden




Lösung
Lösung ab 15:15 Uhr hier sichtbar



Teilaufgabe c)

Betrachte auf der Seite Datentypen den Abschnitt "Sequentielle Datentypen".

Nutze das neu erworbene Wissen über Listen, um das Programm zu verbessern.

Es sollen mindestens 5 verschiedene Schreibweisen pro Geschlecht akzeptiert werden.

Tipp 1
Die Schreibweisen für ein Geschlecht müssen in einer Liste gespeichert werden.
Die Listen müssen zu Beginn des Programms angelegt werden.
Tipp 1 im Code

Tipp 2
Beispiel-Liste: w=["w", "W", "weiblich", "Weiblich", "Frau"]
Tipp 2 im Code

Tipp 3
Bei den Bedingungen muss getestet werden, ob der Wert der Variable für das Geschlecht in einer der beiden Listen vorkommt.
Tipp 4
Mit dem Code:
variable in liste
testet man ob sich der Wert von variable in der Liste liste befindet.
Tipp 4 im Code






Lösung
Lösung ab 15:15 Uhr hier sichtbar






Fortgeschrittene selektive Anweisungen

Oft reicht es nicht aus nur eine einzige Entscheidung zu fällen.

Will man z.B. in einem Restaurant ein Getränk bestellen, gibt es die Unterscheidung von Heißgetränken und Kaltgetränken.
So zählt Tee und Kaffee zu den Heißgetränken, während Limo und Eistee zu Kaltgetränken gehören.

Nun soll eine App dem Kellner helfen, schnell das richtige Getränk zu finden und zu buchen.
Damit es in der App nicht unübersichtlich wird, sollen die verschiedenen Getränke nur angezeigt werden, wenn vorher der zugehörige Oberbegriff ausgewählt wurde.

Beispiel: Bei der Auswahl von "Heißgetränk" soll im Anschluss die Auswahl zwischen "Tee" und "Kaffee" möglich sein.

Die ersten beiden Bilder zeigen, wie das fertige Programm in der Ausführung aussehen soll.

Weitere Informationen über den Aufbau des Programms sind dem Programmablaufplan zu entnehmen.

Fehlerhafte Eingabe Fehlerfreie Eingabe
Getränkekarte

Wie müssen die bedingten Anweisung angeordnet sein, um den Programmablaufplan umsetzen zu können?

Aufgabe 3:

Programmname: if-else_a3.py

Setze den Programmablaufplan zur Getränkeauswahl in ein funktionierendes Pyton-Programm um.

Lösung
Lösung ab 15:15 Uhr hier sichtbar

Zusatz:

Ergänze das Programm mit einer neue Kategorie deiner Wahl.
Füge außerdem 3 weitere Getränke hinzu.