Kann mir jmd mit Python helfen?

2 Antworten

Wenn Du etwas wiederholt machen möchtest, dann nimmt man dafür eine Schleife.

while True:
    rec=int(input("Rezeptnummer"))
    match rec:
       case 1:
           ...
  
    q=int("Beenden?")
    if q.lower() in ["j","ja"]:
        break

Alternativ kannst Du (aus stilistischen Gründen) ein flag toggeln und so die Schleife verlassen. Ebenso könnte man auf die zusätzliche Frage verzichten.

Naja, Du brauchst eine Schleife, die solange läuft, bis der Benutzer "ja" für "beenden" eingibt.

Ein Fehler in Deinem Programm ist, dass die Frage, ob beendet werden soll, ohnehin nur kommt, wenn er Rezept 3 auswählt.

Mein Python ist etwas rostig, aber eigentlich müsste das dann so aussehen:

...

beenden = 'Nein'

# Benutzer wählt solange, bis er "ja" eingibt 
# (Ggf. Groß-/Kleinschreibung noch ignorieren)
while beenden != 'ja':
    if auswahl == '1':
        print(...)
    if auswahl == '2':
        print(...)
    if auswahl == '3':
        print(...)

    # IMMER fragen, nicht nur bei Auswahl von 3
    print('')
    print('')
    beenden = input(...)

# Das wird am Ende immer ausgegeben
print('')
print('Tschüss')