三级菜单实现:输入上级菜单,显示下级,输入b返回上级菜单,输入e退出程序

 

#!/usr/bin/env python

12345
gfhfhfh
jyytyfhgfh

  

# -*-coding:utf-8-*-

#Author:Feng Zhang

menu_list = {"北京":{
"海淀":{
"中关村":("海龙","科贸"),
"保福寺":("恒兴","都市网景")
},
"昌平":{},
"朝阳":{},
"丰台":{}
},
"河北":{
"衡水":{},
"石家庄":{},
"邢台":{}
},
"河南":{
"郑州":{},
"驻马店":{}
}
}
flag_exit = False
while not flag_exit: #循环打印一级菜单,获取用户输入,然后打印用户选的菜单对应的子菜单
for menu_1 in menu_list: #打印一级菜单
print(menu_1)
choice_1 = input("plase input your choice1(b 返回上一级,e 退出)>>>") #获取用户输入
if choice_1 in menu_list: #判断用户输入的菜单是否有效(有效:打印下级菜单,输入b退出程序,e退出程序
while not flag_exit: #输入正确的一级菜单,打印一级菜单下面的子菜单
for i in menu_list[choice_1]:#打印二级菜单
print('\t',i)
choice_2 = input("plase input your choice2(b 返回上一级,e 退出)>>>")#获取用户输入的二级菜单
if choice_2 in menu_list[choice_1]:
while not flag_exit:
for i in menu_list[choice_1][choice_2]:#打印三级菜单
print('\t\t',i)
choice_3 = input("plase input your choice3(b 返回上一级,e 退出)>>>")#获取三级输入
if choice_3 in menu_list[choice_1][choice_2]:
while not flag_exit:
for i in menu_list[choice_1][choice_2][choice_3]:#打印三级菜单对应的子菜单
print('\t\t\t',i)
choice_4 = input("The last level,press b return(b 返回上一级,e 退出)>>>")#输入b重新查看其他三级菜单对应的子菜单
if choice_4 == 'b':
break
elif choice_4 == 'e':
flag_exit = True
else:
print("无效的输入")
elif choice_3 == 'b':
break
elif choice_3 == 'e':
flag_exit = True
else:
print("your input is valide,plase input your choice3>>>")
elif choice_2 == 'b':
break
elif choice_2 == 'e':
flag_exit = True
else:
print("your input is valide,plase input your choice2>>>")
elif choice_1 == 'b':
break
elif choice_1 == 'e':
flag_exit = True
else:
print("your input is valide,plase input your choice1>>>")
posted on 2017-07-02 18:38  Faker006  阅读(98)  评论(0)    收藏  举报