python基础之省份三级菜单

菜单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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

  测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
D:\python\python.exe D:/untitled/dir/for.py
北京
上海
山东
输入省:北京
海淀
昌平
朝阳
东城
输入市:haid
海淀
昌平
朝阳
东城
输入市:海淀
五道口
中关村
上地
地址:q
海淀
昌平
朝阳
东城
输入市:b
 
Process finished with exit code 0

  

posted @   烟雨楼台,行云流水  阅读(451)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示