At My Fingertips

Documentation
Loading...
# Eingabe
alter = 15
erlaubnis = rectangle(1, 1, transparent)
text = ""

# Verarbeitung
if alter > 17:
    erlaubnis = ja
    text = "Sie dürfen jetzt Auto fahren."
elif alter >= 75:
    text = "Gehen Sie zum Arzt für eine oblitagorische Untersuchung."
else:
    erlaubnis = nein
    text = "Du darfst noch nicht Auto fahren."

# Ausgabe
show_graphic(erlaubnis)
print(text)

Überprüfen Sie:

Loading...

(Musterlösung weiter unten.)

Selektionsblöcke

Beispielcode:

# Verarbeitung
if alter >= 18 and alter < 75:
    text = "Sie dürfen jetzt Auto fahren."
elif alter >= 75:
    text = "Gehen Sie zum Arzt für eine oblitagorische Untersuchung."
else:
    text = "Du darfst noch nicht Auto fahren."

In der Programmierung bezeichnet Selektion eine Entscheidung oder Verzweigung im Programmablauf, bei der basierend auf einer Bedingung unterschiedliche Anweisungen ausgeführt werden. Dies wird häufig mit if, elif und else-Anweisungen implementiert.

  • if: Überprüft, ob die Bedingung alter >= 18 and alter < 75 wahr ist. Wenn ja, wird der Block unter if ausgeführt und der Rest der Verzweigung übersprungen.
  • elif: Wenn die erste Bedingung nicht wahr ist, wird elif überprüft (in diesem Fall alter >= 75). Wenn diese wahr ist, wird dieser Block ausgeführt und der Rest der Verzweigung übersprungen. elif ist eine Abkürzung von else if.
  • else: Wenn keine der vorherigen Bedingungen wahr ist, wird der Block unter else ausgeführt. Bei else muss keine Bedingung mehr überprüft werden.

Die Selektion erlaubt es, den Programmablauf dynamisch an bestimmte Bedingungen anzupassen.

Selektionsblöcke müssen immer mindestens eine if-Anweisung enthalten, maximal eine else-Anweisung und irgendeine Anzahl von elif-Anweisungen. Folgendes sind also erlaubte Abläufe:

if:if-else:if-elif-else:
ifif-elseif-elif-else
if-elif-...-elif-else:
if-elifs-else
  • ab 7 Punkten gibt es die Note 6,
  • 6P -> Note 5,
  • 5P -> Note 4.5,
  • 4P -> Note 4,
  • 3P -> Note 3.5,
  • 0-2P -> Note 3
Loading...
Musterlösung
punkte = 7
note = 0

if punkte >= 7:
    note = 6
elif punkte >= 6:
    note = 5
elif punkte >= 5:
    note = 4.5
elif punkte >= 4:
    note = 4
elif punkte >= 3:
    note = 3.5
else:
    note = 3

print("Note:", note)

Vergleichsoperatoren

Hier sind die wichtigsten Vergleichsoperatoren in Python:

  • Gleichheit: == und !=
  • Grössenvergleich: <, >, <= und >=
  • Mitgliedschaft: in und not in
  • Verknüpfung: and und or

Vergleiche

  1. Gleichheit (==)

Überprüft, ob zwei Werte gleich sind.

2 == 2  # True
5 == 3  # False
  1. Ungleichheit (!=)

Überprüft, ob zwei Werte ungleich sind.

2 != 4  # True
2 != 2  # False
  1. Grösser als (>) und kleiner als (<)

Überprüft, welcher Wert grösser oder kleiner ist.

7 > 3  # True
3 > 7  # False

3 < 7  # True
7 < 3  # False
  1. Grösser oder gleich (>=) und kleiner oder gleich (<=)

Überprüft, ob der linke Wert grösser/ kleiner oder gleich dem rechten ist.

7 >= 7  # True
7 >= 3  # True
3 >= 7  # False

3 <= 7  # True
7 <= 7  # True
7 <= 3  # False

Diese Operatoren sind essenziell für die Steuerung des Programmablaufs, insbesondere in bedingten Anweisungen und Schleifen.

Schreiben Sie ein Programm, das ...

  1. ... zwei Zahlen als Eingabe nimmt und die grössere von beiden ausgibt. Entscheiden Sie, was geschehen soll, wenn beide Zahlen gleich gross sind.
  2. ... ein Passwort überprüft. Das richtige Passwort lautet „python“. Wenn das Passwort korrekt ist, gib "Zugang gewährt" aus, andernfalls "Zugang verweigert".
  3. ... überprüft, ob eine eingegebene Zahl positiv oder negativ ist. Achtung: 0 ist weder positiv noch negativ. Entscheiden Sie sich für eine passende Aktion in Ihrem Programm.
Loading...
Musterlösung 1
zahl1 = ...
zahl2 = ...

if zahl1 > zahl2:
    print(zahl1, "ist grösser.")
elif zahl2 > zahl1:
    print(zahl2, "ist grösser.")
else:
    print(zahl1, "und", zahl2, "sind gleich gross.")
Loading...
Musterlösung 2
passwort = ...

if passwort == "python":
    print("Zugang gewährt.")
else:
    print("Zugang verweigert.")
Loading...
Musterlösung 3
zahl = 0

if zahl > 0:
    print("Die Zahl ist positiv.")
elif zahl < 0:
    print("Die Zahl ist negativ.")
else:
    print("0 ist eine neutrale oder nicht-negative Zahl.")

Verknüpfung und Mitgliedschaft

Hier sind die nächsten Operatoren für Selektion in Python:

  1. Mitgliedschaft (in)

Überprüft, ob ein Element in einer Sequenz (wie Liste, Tuple oder String) vorhanden ist.

5 in [1, 2, 3, 4, 5]  # True
"a" in "abc"          # True
  1. Nicht-Mitgliedschaft (not in)

Überprüft, ob ein Element nicht in einer Sequenz enthalten ist.

6 not in [1, 2, 3, 4, 5]  # True
"d" not in "abc"          # True
  1. Verknüpfungen (and, or)

and überprüft, ob mehre Bedingungen gleichzeitig zutreffen, or überprüft, ob mindestens eine Bedingung zutrifft. Mit and und or können unendlich viele Bedingungen verknüpft werden. and bindet stärker als or.

7 != 7 and 7 < 0 # False and False -> False
7 != 7 and 7 > 0 # False and True -> False
7 == 7 and 7 < 0 # True and False -> False
7 == 7 and 7 > 0 # True and True -> True

7 != 7 or 7 < 0 # False or False -> False
7 != 7 or 7 > 0 # False or True -> True
7 == 7 or 7 < 0 # True or False -> True
7 == 7 or 7 > 0 # True or True -> True

(1 in [0, 9, 2] or 1 not in [0, 1]) and 1 < 2 and ...
  1. ... eine Temperatur in Celsius als Eingabe nimmt und sie in Fahrenheit umwandelt. Gibt eine Warnung aus, wenn die Temperatur unter dem Gefrierpunkt (0°C) oder über dem Siedepunkt (100°C) liegt.
  2. ... eine Liste von Früchten und eine Frucht (str) nimmt, um zu überprüfen, ob eine bestimmte Frucht in der Liste enthalten ist.
  3. ... zwei Zahlen und einen Operator (+, -, *, /) als Eingabe nimmt und die entsprechende Berechnung durchführt. Überprüft zuerst, ob der Operator gültig ist (sonst Fehlermeldung). Dann gibt es das entsprechende Ergebnis oder eine Fehlermeldung für Division durch 0 aus.
Loading...
Musterlösung 1
celsius = 81 # -81, 0, 1, 50, 100, 104
fahrenheit = (celsius * 9/5) + 32

print("Die Temperatur in Fahrenheit: ", fahrenheit, "°F")

# Variante A
if celsius < 0:
    print("Achtung: Es liegt unter dem Gefrierpunkt!")
elif celsius > 100:
    print("Achtung: Es liegt über dem Siedepunkt!")
else:
    print("Temperatur liegt zwischen dem Gefrier- und Siedepunkt.")

# Variante B
if 0 < celsius and celsius < 100:
    print("Temperatur liegt zwischen dem Gefrier- und Siedepunkt.")
else:
    print("Achtung: Es liegt unter dem Gefrierpunkt oder über dem Siedepunkt!")
Loading...
Musterlösung 2
fruechte = ["Apfel", "Banane", "Orange", "Traube"]
frucht = "Kiwi"

# Variante A
if frucht in fruechte:
    print(frucht, "ist in der Liste enthalten.")
else:
    print(frucht, "ist nicht in der Liste.")

# Variante B
if frucht not in fruechte:
    print(frucht, "ist nicht in der Liste enthalten.")
else:
    print(frucht, "ist in der Liste.")
Loading...
Musterlösung 3
zahl1 = ...
zahl2 = ...
operator = ... # "+", "-", "*", "/"

# Variante A
if operator not in ["+", "-", "*", "/"]:
    print("Ungültiger Operator.")
else:
    if operator == "+":
        print("Ergebnis: ", zahl1 + zahl2)
    elif operator == "-":
        print("Ergebnis: ", zahl1 - zahl2)
    elif operator == "*":
        print("Ergebnis: ", zahl1 * zahl2)
    elif operator == "/":
        if zahl2 != 0:
            print("Ergebnis: ", zahl1 / zahl2)
        else:
            print("Fehler: Division durch 0 ist nicht erlaubt.")

# Variante B
if operator == "+":
    print("Ergebnis: ", zahl1 + zahl2)
elif operator == "-":
    print("Ergebnis: ", zahl1 - zahl2)
elif operator == "*":
    print("Ergebnis: ", zahl1 * zahl2)
elif operator == "/":
    if zahl2 != 0:
        print("Ergebnis: ", zahl1 / zahl2)
    else:
        print("Fehler: Division durch 0 ist nicht erlaubt.")
else:
    print("Ungültiger Operator.")

Was Sie geübt und gelernt haben

Lösungsstrategien

  • Sie können Probleme lösen, indem Sie sie in Teilprobleme zerlegen.

Python

  • Sie können Selektion (if, elif, else) sinnvoll verwenden.
  • Sie können verschiedene Vergleichsoperatoren (<, >, <=, >=, ==, !=, in, not in) sowie and und or sinnvoll verwenden.

PyTamaro

  • Sie können Grafiken mit Selektion verwenden.

This activity has been created by Gall and is licensed under CC BY-SA 4.0.

Selektion

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version 0d65647 (Mon, 13 Jan 2025 15:04:11 GMT)