Python三级菜单的实例
要求:
打印省、市、县三级菜单
可返回上一级
可随时退出程序
版本1
#_author:AhernLi #@_date:2017/9/12 menu={ '浙江省':{ '杭州市':{ '余杭区':{'中泰':{},'临平':{}}, '西湖区':{'西湖':{},'留下':{}} }, '温州市':{ '苍南县':{'灵溪':{},'龙港':{}}, '瑞安县':{'安阳':{},'锦湖':{}} } }, '广东省':{ '广州市':{ '越秀区':{'人民路':{},'北京路':{}}, '荔湾区':{'沙面':{},'龙津':{}} }, '珠海市':{ '香洲区':{'拱北':{},'吉大':{}}, '金湾区':{'红旗镇':{},'平沙镇':{}} } } } #返回标记 q_flag=True #退出标记 Q_flag=True #返回,退出标记出现False退出循环 whileq_flagandQ_flag: #遍历打印省份 foriinmenu: print(i) province=input('请输入要查找的省份(Q,退出):').strip() ifprovinceinmenu: whileq_flagandQ_flag: foriinmenu[province]: print(i) city=input('请输入要查找的市(q,返回或Q,退出):').strip() ifcityinmenu[province]: whileq_flagandQ_flag: foriinmenu[province][city]: print(i) county=input('请输入要查找的区或县(q,返回或Q,退出):').strip() ifcountyinmenu[province][city]: whileq_flagandQ_flag: foriinmenu[province][city][county]: print(i) #提示最后一页,输入格式 choice=input('最后一页!q,返回或Q,退出:').strip() ifchoice=='q': #配合else:q_flag=True退出该层循环,返回上层循环 q_flag=False elifchoice=='Q': #退出大循环 Q_flag=False else: #提示输入不合法 print('输入错误!') #改回q_flag的值,实现只退出一层循环 else: q_flag=True elifcounty=='q': q_flag=False elifcounty=='Q': Q_flag=False else: print('输入错误!') else: q_flag=True elifcity=='q': q_flag=False elifcity=='Q': Q_flag=False else: print('输入错误!') else: q_flag=True elifprovince=='Q': Q_flag=False else: print('输入错误!')
版本2
#_author:AhernLi #@_date:2017/9/12 menu={ '浙江省':{ '杭州市':{ '余杭区':{'中泰':{},'临平':{}}, '西湖区':{'西湖':{},'留下':{}} }, '温州市':{ '苍南县':{'灵溪':{},'龙港':{}}, '瑞安县':{'安阳':{},'锦湖':{}} } }, '广东省':{ '广州市':{ '越秀区':{'人民路':{},'北京路':{}}, '荔湾区':{'沙面':{},'龙津':{}} }, '珠海市':{ '香洲区':{'拱北':{},'吉大':{}}, '金湾区':{'红旗镇':{},'平沙镇':{}} } } } current_layer=menu#实现动态循环 parent_layer=[]#保留所有父层,最后一个元素永远为父层 whileTrue: print()#仅为了打印美观 foriincurrent_layer:#遍历打印地址 print(i) choice=input('请在下方输入查询地址\n>>>:').strip() ifchoiceincurrent_layer: ifcurrent_layer[choice]:#判断是否为末层 parent_layer.append(current_layer)#进入子层前,添加当前层作为父层 current_layer=current_layer[choice]#修改子层 else: print('当前是最后一页') elifchoice=='': continue elifchoice=='q':#返回上层 ifparent_layer:#判断parent_layer是否为空 current_layer=parent_layer.pop()#取出当前层父层 #退出循环 elifchoice=='Q': break else: print('输入错误!')
以上这篇Python三级菜单的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。