Übung Python?

jo135  07.11.2023, 14:06

Was genau ist unklar?

onlyangel91 
Fragesteller
 07.11.2023, 14:08

wie ich die if schleifen ausschreibe..

1 Antwort

Da du nach eigenen Angaben Probleme mit "den if-Schleifen" hast:

eingabe = input("Anzeigewunsch (1-3):")
if eingabe == '1':
    # tu das eine
elif eingabe == '2':
    # tu das andere
elif eingabe == '3':
    # tu das dritte
else:
    print("Das gibt's nicht.")

Natürlich kann man das auch etwas eleganter mit einem Dictionary oder einem match-Statement lösen, aber man soll ja nicht überfordern.


guterfrager5  07.11.2023, 14:35
Natürlich kann man das auch etwas eleganter mit einem Dictionary oder einem match-Statement lösen, aber man soll ja nicht überfordern.

Abgesehen davon dass man einen Frischling damit überfordern würde, funktioniert es so wie du es hier geschrieben hast, auch in praktisch jeder anderen Programmiersprache :D

0
onlyangel91 
Fragesteller
 07.11.2023, 14:40
Ich habs das Programm jetzt mit deiner Anweisung geschrieben, aber es klappt trotzdem nicht:

spieler = ["Armin", "Batu", "Kai", "Sven", "Paul", "Milan"]
ersatz= ["Chris", "Dennis", "Emin", "Goran", "Luca", "Nico"]
alle= spieler+ersatz


def zeige_startaufstellung():
    print("Startaufstellung:")
    for spieler in spieler:
        print(spieler)


def zeige_ersatzspieler():
    print("Ersatzspieler:")
    for spieler in ersatzspieler:
        print(spieler)


def zeige_kader():
    print("Kader:")
    kader = spieler + ersatzspieler
    for spieler in kader:
        print(spieler)

while True:
    print("[1] Startaufstellung anzeigen")
    print("[2] Ersatzspieler anzeigen")
    print("[3] Kader anzeigen")
    print("Anzeigewunsch (1-3): ")

    auswahl = input()
    
    if auswahl == "1":
        zeige_startaufstellung()
    elif auswahl == "2":
        zeige_ersatzspieler()
    elif auswahl == "3":
        zeige_kader()
    else:
        print("Ungültige Eingabe")
0
jo135  07.11.2023, 14:54
@onlyangel91

Bevor du etwas kompakter machst, sollte es wenigstens korrekt sein.

    for spieler in spieler:

Dir ist wohl klar, dass das keinen Sinn ergibt. Du kannst nicht denselben Variablennamen für zwei verschiedene Variable im selben Kontext verwenden.

    for spieler in ersatzspieler:

Wo ist denn die Variable ersatzspieler definiert?

Du hast hier offenbar den typischen Anfängerfehler gemacht, ein Programm erstmal komplett runterzutippen, statt es stückweise zu schreiben und testen. Wenn du so vorgehst, kannst du die Fehler auch besser eingrenzen und verstehen.

0
onlyangel91 
Fragesteller
 07.11.2023, 15:15
@jo135

Hab ich wohl vergessen zu ändern. Dann so: ( In der Zeile for spieler in startaufstellung ist die Variable nicht definiert, wie bilde ich die for-Schleife davon?)

spieler= ["Armin", "Batu", "Kai", "Sven", "Paul", "Milan"]
ersatz= ["Chris", "Dennis", "Emin", "Goran", "Luca", "Nico"]
alle = spieler + ersatz
while True:
   print("[1] Startaufstellung anzeigen")
   print("[2] Ersatzspieler anzeigen")
   print("[3] Kader anzeigen")
 auswahl = input("Anzeigewunsch(1-3): ")
   if auswahl == "1":
       print("Startaufstellung:")
       for spieler in startaufstellung:
           print(spieler)
   elif auswahl == "2":
       print("Ersatzspieler:")
       for spieler in ersatz:
           print(spieler)
   elif auswahl == "3":
       print("Kader:")
       for spieler in alle:
           print(spieler)
   else:
       print("Ungültige Auswahl")
0