重新写了一边三级菜单,加了一些自己的理解
Posted 人无远虑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重新写了一边三级菜单,加了一些自己的理解相关的知识,希望对你有一定的参考价值。
menu = { \'北京\':{ \'海淀\':{ \'五道口\':{ \'soho\':{}, \'网易\':{}, \'google\':{} }, \'中关村\':{ \'爱奇艺\':{}, \'汽车之家\':{}, \'youku\':{}, }, \'上地\':{ \'百度\':{}, }, }, \'昌平\':{ \'沙河\':{ \'老男孩\':{}, \'北航\':{}, }, \'天通苑\':{}, \'回龙观\':{}, }, \'朝阳\':{ \'群众\':{}, \'门径\':{} }, \'东城\':{ \'txet\':{}, \'txet2\':{} }, }, \'上海\':{ \'闵行\':{ "人民广场":{ \'炸鸡店\':{} } }, \'闸北\':{ \'火车战\':{ \'携程\':{} } }, \'浦东\':{ \'大桥\':{}, \'小乔\':{} }, }, \'山东\':{ \'青岛\':{ \'市南\':{}, \'市北\':{}, \'胶州\':{} }, \'济南\':{ \'背带盒子\':{}, \'趵突泉\':{}, \'十字路口\':{} }, \'潍坊\':{ \'风筝\':{}, \'火车站\':{}, \'萝卜\':{}, \'驾照\':{} } }, } \'\'\' 首先打印出来第一层菜单 然后让用户选择菜单 如果选择的选项在里边,就循环打印第二层菜单 然后继续选择,如果选择的在就打印第三层菜单,然后需要打印出提示,最底层,让用户选b,退菜单 #这里的‘让’子其实也是inpu!!!!!!! 然后跟eilf选项,直接q出去 \'\'\' flag =False while not flag: for i1 in menu: print(i1) chose1=input(\'请选择》1\') if chose1 in menu: while not flag: for i2 in menu[chose1]: #有chose1层后,就开始for menu[chose1],同理下边有chose2的时候,for才有menu[chose2] print(i2) chose2 = input(\'请选择》2\') if chose2 in menu[chose1]: #men[chose1]其实就是现实“请选择》2”的内容,这里需要理解一下。 while not flag: for i3 in menu[chose1][chose2]: print(i3) chose3 = input(\'请选择》3\') if chose3 in menu[chose1][chose2]: for i4 in menu[chose1][chose2][chose3]: print(i4) chose4= input(\'最后一层,按b或者q\') #我在这里忘记加chose4了,chose4是最后一层的显示,不能只打印一句话, if chose4 ==\'b\': pass #这里要用pass elif chose4 ==\'q\': flag=True if chose3 == \'b\': break #这里用break elif chose3 ==\'q\': flag=True if chose2 == \'b\': break elif chose2 ==\'q\': flag=True if chose1 ==\'b\': break elif chose1 ==\'q\': flag=True
以上是关于重新写了一边三级菜单,加了一些自己的理解的主要内容,如果未能解决你的问题,请参考以下文章