zoukankan      html  css  js  c++  java
  • python基础之省份三级菜单

    菜单

    menu = {     #定义一个字典
        '北京':{
            '海淀':{
                '五道口':{
                    'soho':{},
                    '网易':{},
                    'google':{}
                },
                '中关村':{
                    '爱奇艺':{},
                    '汽车之家':{},
                    'youku':{},
                },
                '上地':{
                    '百度':{},
                },
            },
            '昌平':{
                '沙河':{
                    '老男孩':{},
                    '北航':{},
                },
                '天通苑':{},
                '回龙观':{},
            },
            '朝阳':{},
            '东城':{},
        },
        '上海':{
            '闵行':{
                "人民广场":{
                    '炸鸡店':{}
                }
            },
            '闸北':{
                '火车战':{
                    '携程':{}
                }
            },
            '浦东':{},
        },
        '山东':{},
    }
    back_flag = 0
    while not back_flag: #无限循第一层
        for i in menu: #for循环打印第一层字典
            print(i)
        SF= input('输入省:').strip() #让用户输入选择
        if SF in menu: #判断用户输入的选择菜单是否包含;如果包含进入第二层选择
            while not back_flag: #让程序停留第二层
                for i1 in menu[SF]: # 遍历第二层字典
                    print(i1)#打印第二层字典
                SS = input('输入市:').strip() #让用户输入选择
                if SS in menu[SF]: #判断用户选择二层菜单是否包含
                    while not back_flag: # 如果包含让程序停留在第三层
                        for s1 in menu[SF][SS]:# 遍历打印第三层字典
                            print(s1)
                        xz = input("地址:").strip()# 让用户输入
                        if xz in menu[SF][SS]: #判断用户选择是否在三层字典有
                            while not  back_flag: # 如果有让用户停留在四级caid
                                for g in menu[SF][SS][xz]:#遍历打印四级cai单
                                    print('你居住在',g)
                                du = input("4===:").strip() # 让用户输入选择
                                if du == "b": # 如果用户输入b就退出程序
                                    back_flag = 1
                                if du == "q": #如果输入q返回上一层
                                    break
                            # else:
                            #    back_flag = 1
                        if xz == "q":#如果输入q返回上一层
                            break
                        if xz == "b":# 如果用户输入b就退出程序
                            back_flag = 1
                    # else:
                    #     back_flag = 1
                if SS == "q":#如果输入q返回上一层
                    break
                if SS == "b":
                    back_flag = 1
            # else:
            #     back_flag = 1
        if SF == "q":#如果输入q返回上一层
            break
        if SF == "b":# 退出
            back_flag = 1
    

      测试

    D:pythonpython.exe D:/untitled/dir/for.py
    北京
    上海
    山东
    输入省:北京
    海淀
    昌平
    朝阳
    东城
    输入市:haid
    海淀
    昌平
    朝阳
    东城
    输入市:海淀
    五道口
    中关村
    上地
    地址:q
    海淀
    昌平
    朝阳
    东城
    输入市:b
    
    Process finished with exit code 0
    

      

    草都可以从石头缝隙中长出来更可况你呢
  • 相关阅读:
    汇编 Hello Window [菜鸟]疑问
    得到指定进程所有窗口。显示 影藏 置顶。
    汇编,SendMessage和WM_SETTEXT
    C#: 字段和局部变量的作用域冲突
    C#: 给方法传递参数
    C#:类和结构
    C#: string 类型
    Copy files to a folder which need have Administrator approve and overwrite the existing same readonly files
    C#:构造函数
    C#:数组, 命名空间, Main()方法
  • 原文地址:https://www.cnblogs.com/rdchenxi/p/11104471.html
Copyright © 2011-2022 走看看