Ich muss ein Funktionsmenü definieren, damit der Benutzer eine Zahl basierend auf den Auswahlmöglichkeiten eingeben kann. Hier ist, was ich bisher:Python: Menü kann nicht beendet werden - Benutzereingabe
def menu(preamble, choices) :
choose_one = " Choose one of the following and enter its number:"
print(preamble + choose_one)
for number in range(len(choices)):
all = "%g: %s" % (number + 1, choices[number])
print(all)
prompt = ("\n")
warning = "\n"
while warning:
choose = int(input(warning + prompt))
warning = ''
if choose not in range(1,len(choices)):
warning = "Invalid response '%s': try again" % choose
for number in range(len(choices)):
all = "%g: %s" % (number + 1, choices[number])
print(all)
else:
break
return choose
Sagen wir zum Beispiel, dass die Wahl zwischen:
1. I have brown hair
2. I have red hair
3. Quit
Ich habe versucht, den Code ausgeführt wird und es funktioniert gut, wenn == 1 wählen, und wählen Sie == 2. Wenn Sie jedoch == 3 wählen, wird der Benutzer aufgefordert, erneut auszuwählen. Was muss ich tun, damit die Option "Quit" funktioniert?
Ihre Nummer für die Beendigungsoption liegt außerhalb des zulässigen Bereichs. Dein Code wird also darum bitten, erneut zu wählen. Fügen Sie entweder einen Test für Ihren Bereich + 1 (die Option "Beenden") hinzu, und fügen Sie den Bereich + 1 in Ihre Menüoptionen ein. –