三级菜单
要求:
升级作业:
程序: 三级菜单
要求:
打印省、市、县三级菜单
可返回上一级
可随时退出程序
dic = {"河北":{"高碑店":["安新县","高阳县","涞水县"],"秦皇岛":["海港区","邯郸市","邢台市"]},
"辽宁":{"沈阳":["沈北","大东","于洪","铁西"],"本溪":["平山区","明山区","溪湖区"]}
}
flg=True
while flg:
a = input("省")
if a.upper()=="Q":
break
else:
if a =="河北":
print("选择市")
for x in dic["河北"]:
print(x)
elif a =="辽宁":
print('选择市')
for y in dic["辽宁"]:
print(y)
else:
continue
flg2 = True
while flg2:
b = input("市")
if b.upper( )=="Q":
flg = False
flg1 = False
flg2 = False
break
elif b.upper()=="P":
break
else:
if b=="高碑店":
print("选择县")
print(dic["河北"]["高碑店"])
elif b == "秦皇岛":
print("选择县")
print(dic["河北"]["秦皇岛"])
elif b == "沈阳":
print("选择县")
print(dic["辽宁"]["沈阳"])
elif b == "本溪":
print("选择县")
print(dic["辽宁"]["本溪"])
else:
print("重新输入")
continue
flg1 = True
while flg1:
c = input("县")
if c.upper()=="Q" :
flg = False
flg1 = False
flg2 = False
break
elif c.upper()=="P":
break
else:
if c in dic["河北"]["高碑店"] or c in dic["河北"]["秦皇岛"] or c in dic["辽宁"]["沈阳"] or c in dic["辽宁"]["本溪"]:
print("%s省,%s市,%s县" %(a,b,c))
flg=False
flg1=False
flg2=False
break
else:
print("重新输入")
continue
用递归方法做
menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {}, '汽车之家': {}, 'youku': {}, }, '上地': { '百度': {}, }, }, '昌平': { '沙河': { '老男孩': {}, '北航': {}, }, '天通苑': {}, '回龙观': {}, }, '朝阳': {}, '东城': {}, }, '上海': { '闵行': { "人民广场": { '炸鸡店': {} } }, '闸北': { '火车战': { '携程': {} } }, '浦东': {}, }, '山东': {}, }
程序
def threeLM(dic): while True: for k in dic:print(k) key = input('input>>').strip() if key == 'b' or key == 'q':return key elif key in dic.keys() and dic[key]: ret = threeLM(dic[key]) if ret == 'q': return 'q' threeLM(menu)

浙公网安备 33010602011771号