Listen, Schleifen, Wörterbücher und Abfragen
Verfasst: Dienstag 29. September 2020, 11:10
Hallo 
Wo fange ich an... Ich lerne gerade python und naja... ich soll eine einfache for/else schleife machen... das ist etwas ausgeartet, was aber an sich nicht schlimm ist.
Nun hatte ich die Idee ein Konsolenprogramm zum Bestellen in einem Restaurant zu machen.
Dieses hat wie man unten sieht viele Listen. Evtl. wollte ich daraus eine Variable "Speisekarte" machen, welche eine Liste der Gänge beinhaltet, welche wiederum ein Dictionary mit den Gerichten und deren Preis beinhaltet. So weit bin ich aber noch nicht.
Mein Problem besteht darin, dass ich eine Schleife machen will, welche erst abfragt, was man zum jeweiligen Gang essen will:
Das Ziel ist es, dass man etwas eingeben soll und das Programm dann überprüfen soll, ob dieses Gericht das man eingegeben hat auch in der Speisekarte bzw. in den Listen des jeweiligen Gangs enthalten ist. Ist dies der Fall, so soll die Schleife weitermachen. Sollte das Gericht aber nicht in dem jeweiligen Gang vertreten sein, so soll sie die Abfrage des selben Gangs wiederholen, bis man das Richtige eingegeben hat.
Ich bin total am verzweifeln und habe schon verschiedene Dinge ausprobiert.
Hier ist der gesammte Code:

Wo fange ich an... Ich lerne gerade python und naja... ich soll eine einfache for/else schleife machen... das ist etwas ausgeartet, was aber an sich nicht schlimm ist.
Nun hatte ich die Idee ein Konsolenprogramm zum Bestellen in einem Restaurant zu machen.
Dieses hat wie man unten sieht viele Listen. Evtl. wollte ich daraus eine Variable "Speisekarte" machen, welche eine Liste der Gänge beinhaltet, welche wiederum ein Dictionary mit den Gerichten und deren Preis beinhaltet. So weit bin ich aber noch nicht.
Mein Problem besteht darin, dass ich eine Schleife machen will, welche erst abfragt, was man zum jeweiligen Gang essen will:
Code: Alles auswählen
for meal, dish in Bestellung.iteritems():
Bestellung[meal] = raw_input("Was moechtest du zum/zur " + meal + " essen?: " )
Code: Alles auswählen
if any(item.lower() == Bestellung[meal].lower() for item in meal):
print Bestellung
else:
print("Dieses Gericht ist nicht verfügbar. Bitte wiederhole deine Eingabe..")
Hier ist der gesammte Code:
Code: Alles auswählen
Vorspeise = set(Vorspeisen.lower() for Vorspeisen in(
"Suppe", "Flaedlesuppe", "Hawaitoast", "Antipasti", "", "", "", "Nichts"
))
Hauptgericht = set(Hauptgerichte.lower() for Hauptgerichte in(
"Steak", "Burger", "Pasta", "Pizza", "Kinderteller", "Seniorenteller", "", "Nichts",
))
Beilage = set(Beilagen.lower() for Beilagen in(
"Pommes", "Kartoffelecken", "Baguette", "", "", "", "", "Nichts",
))
Salat = set(Salate.lower() for Salate in(
"Kartoffelsalat", "Gurkensalat", "Schichtsalat", "", "", "", "", "Nichts",
))
Dessert = set(Desserts.lower() for Desserts in(
"Kuchen", "Torte", "Eis", "", "", "", "", "Nichts",
))
Getraenk = set(Getraenke.lower() for Getraenke in(
"Wasser", "Sprite", "Fanta", "Spezi", "Cola", "Eistee", "Apfelsaft", "Orangensaft", "Tee", "Kaffee", "", "", "Nichts",
))
Bestellung = {
"Vorspeise" : None,
"Hauptgericht": None,
"Beilage": None,
"Salat" : None,
"Dessert": None,
"Getraenk" : None,
}
#for meal, dish in Bestellung.iteritems():
# Bestellung[meal] = raw_input("Was moechtest du zum/zur " + meal + " essen?: " )
#else:
# print "ERROR"
#print Bestellung
for meal, dish in Bestellung.iteritems():
Bestellung[meal] = raw_input("Was moechtest du zum/zur " + meal + " essen?: " )
if any(item.lower() == Bestellung[meal].lower() for item in meal):
print Bestellung
else:
print("Dieses Gericht ist nicht verfügbar. Bitte wiederhole deine Eingabe..")