zoukankan      html  css  js  c++  java
  • 重新写了一边三级菜单,加了一些自己的理解

    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

     

  • 相关阅读:
    【BZOJ4300】绝世好题
    codeforce1051F
    【BZOJ3329】Xorequ
    codeforce739c
    【UVA11825】
    codeforce6E
    CF 1023D Array Restoration
    BZOJ 1911 [APIO2010] 特别行动队
    POJ 3709 K-Anonymous Sequence
    BZOJ 2726 [SDOI2012] 任务安排
  • 原文地址:https://www.cnblogs.com/PYlog/p/8604373.html
Copyright © 2011-2022 走看看