Как зациклить меню, имеющее подменю в python?
Я пытаюсь создать Главное меню с подменю. Я хочу сделать так, чтобы независимо от того, какую последовательность пользователь выбирает из главного меню в подменю, он в конечном итоге будет направлен обратно в Главное Вот тут-то я и застрял. Прямо сейчас пользователь может пройти через последовательность меню только один раз. Как сделать это повторяющимся циклом?
choice = None
sub_choice = None
while choice != "0":
print("""
main menu
main 0
main 1
main 2
"""
)
choice = input("\nChoice: ")
print()
if choice == "0":
print("Goodbye!")
elif choice == "1":
print("sub-menu:")
while sub_choice != "0" :
print("""
sub-menu
sub 0
sub 1
"""
)
sub_choice = input("\nSub-choice : ")
if sub_choice == "0":
print("Exit sub-menu!")
elif sub_choice == "1":
print("What?")
elif choice == "2":
print("hi")
else:
print("Sorry, but", choice, "isn't a valid choice.")
input("\n\nPress enter to exit.")
Ответы (1 шт):
Автор решения: Wu Hectic
→ Ссылка
Как выяснилось, подменю должно содержать в цикле while True, а не While sub_choice != "0" и оператор break для прерывания цикла. Решение :
choice = None
sub_choice = None
while choice != "0":
print("""
main menu
main 0
main 1
main 2
"""
)
choice = input("\nChoice: ")
print()
if choice == "0":
print("Goodbye!")
elif choice == "1":
print("sub-menu:")
while True:
print("""
sub-menu
sub 0
sub 1
"""
)
sub_choice = input("\nSub-choice : ")
if sub_choice == "0":
break
if sub_choice == "1":
print("What?")
elif choice == "2":
print("hi")
else:
print("Sorry, but", choice, "isn't a valid choice.")
input("\n\nPress enter to exit.")