我正在尝试创建一个带有子菜单的主菜单。我想要做到这一点,以便无论用户从主菜单到子菜单选择什么顺序,他们最终都会被引导回主菜单 - 也就是说,直到他们选择最后一个选项(3.按住并结束转动) .
这就是我陷入困境的地方。目前,用户只能浏览一次菜单序列。如何使其成为重复循环?
#main menu
playermenumain=raw_input("What would you like to do?\n (1) Buy\n (2)Sell\n (3)Hold and end turn ")
if playermenumain=="1":
buyermenu=raw_input("In what area would you like to buy?"\n (1)Stocks\n (2) Bonds\ (3) Nevermind\n)
if buyermenu=="1":
stockamount=stockamount+500
elif buyermenu=="2":
bondamount=bondamount+500
else:
buyermenu=raw_input("In what area would you like to buy?"\n (1)Stocks\n (2) Bonds\ (3) Nevermind\n)
if playermenumain=="2":
sellermenu=raw_input("In what area would you like to buy?"\n (1)Stocks\n (2) Bonds\ (3) Nevermind\n)
if sellermenu=="1":
stockamount=stockamount-500
elif sellermenu=="2":
bondamount=bondamount-500
else:
sellermenu=raw_input("In what area would you like to buy?"\n (1)Stocks\n (2) Bonds\ (3) Nevermind\n)
if playermenumain=="3":
break
#main menu loop: no matter what is selected, player is directed back to main menu until option 3 (end turn) is selected:
while playermenumain=="1" or playermenumain=="2":
playermenumain=raw_input("What would you like to do?\n (1) Buy\n (2)Sell\n (3)Hold and end turn ")
continue
最佳答案
尝试使用带有中断的 while True 循环而不是您拥有的 while 条件。例如:
def submenu_buy():
# Put your submenus here
pass
def submenu_sell():
# Put your submenus here
pass
while True:
playermenumain=raw_input("What would you like to do?\n (1) Buy\n (2)Sell\n (3)Hold and end turn ")
if playermenumain == "1":
submenu_buy()
elif playermenumain == "2":
submenu_sell()
elif playermenumain == "3":
break
关于python - 如何在 python 中循环具有子菜单的菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14287277/