Seite 1 von 1
Python Schleife
Verfasst: Samstag 23. September 2023, 07:48
von Joel Isaak
Hallo, ich bin neu hier und kenne mich noch nicht so gut mir der Sprache Python aus. Kann mir bitte jemand eine Schleife für mein Projekt erstellen? Ich habe mir schon einige Tutorials angeschaut und habe auch auf einigen Webseiten nach einer Lösung ausschau gehalten, aber leider komme ich mit den Tutorials und das was auf den Webseiten geschrieben wird nicht zurecht.
Code: Alles auswählen
Kaesekuchen = 'K'
Schokoladenkuchen = 'S'
Erdbeerkuchen = 'E'
auswahl = input('Wähle ein Rezept (K=Kaesekuchen, S=Schokoladenkuchen, E=Erdbeerkuchen :')
if auswahl == Kaesekuchen:
print('2 Eier, 100ml Milch, 200g mehl, 50g Zucker')
elif auswahl == Schokoladenkuchen:
print('3 Eier, 100ml Milch, 200g mehl, 50g Zucker')
elif auswahl == Erdbeerkuchen:
print('4 Eier, 100ml Milch, 200g mehl, 50g Zucker')
Re: Python Schleife
Verfasst: Samstag 23. September 2023, 08:21
von Dennis89
Hallo,
so?
Code: Alles auswählen
from time import sleep
Kaesekuchen = 'K'
Schokoladenkuchen = 'S'
Erdbeerkuchen = 'E'
auswahl = input('Wähle ein Rezept (K=Kaesekuchen, S=Schokoladenkuchen, E=Erdbeerkuchen :')
if auswahl == Kaesekuchen:
print('2 Eier, 100ml Milch, 200g mehl, 50g Zucker')
elif auswahl == Schokoladenkuchen:
print('3 Eier, 100ml Milch, 200g mehl, 50g Zucker')
elif auswahl == Erdbeerkuchen:
print('4 Eier, 100ml Milch, 200g mehl, 50g Zucker')
for number in range(3):
print(f"Hallo ich bin Schleifendurchgang Nr.:{number}")
sleep(0.5)
print("Schleife vorbei")
Du müsstest etwas detailierte beschreiben, was du eigentlich haben möchtest und wie haben deine Schleifen ausgesehen, die nicht funktioniert haben?
Grüße
Dennis
Re: Python Schleife
Verfasst: Samstag 23. September 2023, 08:38
von snafu
Es geht wahrscheinlich nicht so sehr um die Schleife an sich, sondern um das Wiederfinden des ausgewählten Menüpunkts mittels Schleife. Das kann man rein zahlenbasiert mit enumerate() machen oder indem man die Benennung und das zugehörige Element jeweils in ein Tupel steckt. Alternativ dazu geht es auch mit einem Wörterbuch (engl. "dict") mittels Schlüsselabfrage. Und sofern man keine uralte Python-Version benutzt, dann behält das Wörterbuch auch die Reihenfolge der einzelnen Elemente beim Hinzufügen bei, was praktisch für die Übersicht der Menüpunkte ist. Ich würde bei Buchstaben ein Wörterbuch benutzen. Bei Zahlen würde ich eine einfache Liste in Verbindung mit enumerate() nehmen.
Re: Python Schleife
Verfasst: Samstag 23. September 2023, 08:43
von Joel Isaak
Danke für deine Bemühung, ist leider nicht das was ich wollte. Ich möchte das, das:
Code: Alles auswählen
auswahl = input('Wähle ein Rezept (K=Kaesekuchen, S=Schokoladenkuchen, E=Erdbeerkuchen :')
nach der Ausgabe eines Rezeptes wieder auftaucht, so das man noch ein Rezept auswählen kann. Und das dann halt immer so weiter.
Re: Python Schleife
Verfasst: Samstag 23. September 2023, 08:47
von snafu
Für eine immer wiederkehrende Ausgabe benutzt man ``while True:``. Wenn man eine Abbruchbedingung anbieten will (z. B. "e" für Ende), dann kann man mittels ``break`` in dem Moment die Schleife abbrechen.
Re: Python Schleife
Verfasst: Samstag 23. September 2023, 08:54
von Joel Isaak
Was muss ich jetzt hier eintragen? Ich habe unten was hinzugefügt.
Code: Alles auswählen
Kaesekuchen = 'K'
Schokoladenkuchen = 'S'
Erdbeerkuchen = 'E'
Ja = 'Ja'
Nein = 'Nein'
auswahl = input('Wähle ein Rezept (K=Kaesekuchen, S=Schokoladenkuchen, E=Erdbeerkuchen :')
if auswahl == Kaesekuchen:
print('2 Eier, 100ml Milch, 200g mehl, 50g Zucker')
elif auswahl == Schokoladenkuchen:
print('3 Eier, 100ml Milch, 200g mehl, 50g Zucker')
elif auswahl == Erdbeerkuchen:
print('4 Eier, 100ml Milch, 200g mehl, 50g Zucker')
auswahl = input('Möchten sie noch ein Rezept auswählen? (Ja/Nein) ')
if auswahl == Nein:
elif auswahl == Ja:
Re: Python Schleife
Verfasst: Samstag 23. September 2023, 09:11
von __deets__
Das Muster fuer Schleifen bis zum Abbruch ist zB dieses:
Das musst du auf deinen Fall anpassen.
Re: Python Schleife
Verfasst: Samstag 23. September 2023, 10:36
von Joel Isaak
Danke, ich hab es geschafft!
Re: Python Schleife
Verfasst: Samstag 23. September 2023, 14:01
von __blackjack__
@Joel Isaak: Hinweis zu ``if``/``elif``: Wenn so etwas in einem ``elif`` endet, sollte man immer überlegen was denn eigentlich passiert wenn alle Bedingungen die man da gestellt hat *nicht* zutreffen, und ob es dann sinnvoll ist einfach *nichts* zu machen in dem Fall. Hier beispielsweise wenn der Benutzer auf die Frage nach dem Kuchen ein "X" eingegeben hat. Dann wird einfach gar nichts ausgegeben, aber danach dann die Frage ob man noch ein Rezept auswählen möchte. Hier wäre es sehr sinnvoll noch ein ``else`` anzuhängen in dem der Benutzer darauf hingewiesen wird, dass es kein Rezept gibt für die Eingabe die er gemacht hat.
Ähnlich dann bei der "Ja"/"Nein"-Abfrage. Als was wird das gewertet wenn der Benutzer etwas anderes als diese beiden Möglichkeiten eingibt, und ist das Verhalten sinnvoll, aus Sicht des Benutzers?
Was auch sicher einige Benutzer stören wird, ist das die Eingabe *exakt* wie vorgegeben passieren muss. Also "Ja" oder "Nein" als ganze Worte inklusive der gleichen Gross-/Kleinschreibung. "n" oder "nein" wird da wie "Ja" behandelt. Man würde da eher nur den ersten Buchstaben der Eingabe prüfen und das dann auch unabhängig davon ob der gross oder klein geschrieben wurde. Damit man keine zwei Vergleiche machen muss, bietet es sich an die Eingabe vom Benutzer in Grossbuchstaben umzuwandeln, und dann nur gegen "J" und "N" zu prüfen.