
多级菜单要求:
1.三级菜单
2.可依次选择进入各子菜单
3.可以返回上一层
4.输入‘q’可以退出
脚本:
zone = {
'北京' : {
'朝阳' : ['太阳宫','芍药居'],
'丰台' : ['六里桥','大红门'],
'海淀' : ['中关村','大钟寺']
},
'保定' : {
'高碑店' : ['白马','市一中'],
'涿州' : ['三义宫','松林店'],
},
'广东' : {
'深圳' : ['aa','bb'],
'东莞' : ['','']
}
} province_list = list(zone.keys()) while True:
print(" 省 ".center(50,'*'))
for i in province_list:
print(province_list.index(i)+1,i)
pro_id = input("请输入省编号,或输入q(quit)退出:")
if pro_id.isdigit():
pro_id = int(pro_id)
if pro_id > 0 and pro_id <= len(province_list):
pro_name = province_list[pro_id-1]
city_list = list(zone[pro_name].keys())
while True:
print(" 市 ".center(50,'*'))
for v in city_list:
print(city_list.index(v)+1,v)
city_id = input("请输入市编号,或输入b(back)返回上级菜单,或输入q(quit)退出:")
if city_id.isdigit():
city_id = int(city_id)
if city_id > 0 and city_id <= len(city_list):
city_name = city_list[city_id-1]
town_list = zone[pro_name][city_name]
while True:
print(" 县 ".center(50,'*'))
for j in town_list:
print(town_list.index(j)+1,j)
back_or_quit = input("输入b(back)返回上级菜单,或输入q(quit)退出:")
if back_or_quit == 'b':
break
elif back_or_quit == 'q':
exit()
else:
print("输入非法!")
else:
print("编号%d不存在。"%city_id)
elif city_id == 'b':
break
elif city_id == 'q':
exit()
else:
print("输入非法!")
else:
print("编号%d不存在。"%pro_id)
elif pro_id == 'q':
break
else:
print("输入非法!")
执行结果:
*********************** 省 ************************
1 北京
2 保定
3 广东
请输入省编号,或输入q(quit)退出:1
*********************** 市 ************************
1 朝阳
2 丰台
3 海淀
请输入市编号,或输入b(back)返回上级菜单,或输入q(quit)退出:b
*********************** 省 ************************
1 北京
2 保定
3 广东
请输入省编号,或输入q(quit)退出:q