Python Noobie hier. Für eine Übungsfrage in der Schule sollte ich ein Restaurantmenü machen. Der Benutzer soll seinen Namen eingeben und die Verfahren zum Erstellen eines Sandwichs durchlaufen, nachdem überprüft wurde, ob der Name des Benutzers zuerst gültig ist. Die Frage fordert uns auf, eine Menüfunktion zu erstellen, die die Parameter der Auswahlliste, der minimalen Auswahl und der maximalen Auswahl annehmen soll.Generic Loop für Restaurant Menü
Beispiel: Fragen Sie den Benutzer, wie viele Beläge er auf seinem Sandwich haben möchte. Mit einem Mindestwert von mindestens 1 Topping und maximal 3 Toppings.
Was ich nicht verstehe, ist, wie ich eine generische Schleife machen soll, um diese separaten Listen ohne harte Codierung in den angegebenen Werten zu durchlaufen. Ich hoffe, das macht Sinn. Ich habe versucht, mein Bestes zu geben, aber hier ist ein Beispiel dafür, wie es aussehen soll und wie es aussieht.
# Input:
# user's name
# wrapper choice (min 1, max 1)
# protein choice (min 1, max 1)
# toppings choices (min 1, max 3)
# sauce choice (min 0, max 1)
# Processing:
# Output:
# User's name followed by their protein choice, wrapper choice, toppings choices, and sauce.
def menuModule(choiceList, minimumChoices, maximumChoices):
order = []
index = 0
for i in choiceList:
index = index + 1
print(i)
choice = input("What is your choice?")
if choice == index:
order.append(choiceList[index])
dirtyNames = [ "mud", "dirt", "dust", "booger", "diaper" ]
valid = True
wrapChoices = [ "[1]sesame seed bun", "[2]soft tortilla shell" ]
proteinChoices = [ "[1]chicken", "[2]beef", "[3]tofu" ]
toppingChoices = [ "[1]tomato", "[2]lettuce", "[3]pickles", "[4]cheese", "[5]onions" ]
sauceChoices = [ "[1]ketchup", "[2]mayonaise", "[3]McCalorie Secret Sauce" ]
while valid:
name = str(input("What is your name? "))
if name in dirtyNames:
print("I'm sorry, that name is not allowed at McThoseguys.")
continue
elif name.isdecimal() is True:
print("I'm sorry, that is not a name.")
continue
elif any(substring in name.lower() for substring in dirtyNames):
print("I'm sorry, that name is not allowed at McThoseguys.")
else:
print("Hello " + name + ", welcome to McThoseguys!")
valid = False
menuModule(wrapChoices, 1, 1)