程序: 利用Python实现三级菜单
要求:
打印省、市、县三级菜单
可返回上一级
可随时退出程序
coding:
menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{}, 'HP':{}, '渣打银行':{}, 'CCTV':{}, }, '望京':{ '陌陌':{}, '奔驰':{}, '360':{}, }, '三里屯':{ '优衣库':{}, 'apple':{}, }, },'海淀':{ "五道口":{ "谷歌":{}, "网易":{}, "Sohu":{}, "Sogo":{}, "快手":{}, }, "中关村":{ "youku":{}, "Iqiyi":{}, "汽车之家":{}, "新东方":{}, "QQ":{}, } }, }, '上海':{ "浦东":{ "陆家嘴":{ "CICC":{}, "高盛":{}, "摩根":{}, }, "黄埔":{}, }, "闵行":{}, "静安":{}, } } current_layer = menu #实现动态循环 parent_layers = [] #保存所有父级,最后一个元素永远都是父亲级 while True: for key in current_layer: print(key) choice = input("请输入项,b返回上一级,q退出!>>>:").strip() if len(choice) == 0:continue if choice in current_layer: parent_layers.append(current_layer) #在进入下一层之前,把当前层(也就是下一层的父级) #下一次loop,当用户选择b的时候,就可以直接取列表的最后一个值出来就OK了 current_layer = current_layer[choice] #将当前层改成了子层 elif choice == "b": if parent_layers: current_layer = parent_layers.pop() #取出列表的最后一个值,因为它就是当前层的父级 elif choice == "q": #输入q时,退出程序 exit() else: print("无此项")