Python实现三级菜单

需求:
    可依次选择进入各子菜单
    可从任意一层往回退到上一层
    可从任意一层退出程序
    所需新知识点:列表、字典    只用一个while循环
 1 #! -*- coding:utf-8 -*-
 2
 3 menu = {
 4     ‘北京‘: {
 5         ‘海淀‘: {
 6             ‘五道口‘: {
 7                 ‘soho‘: {},
 8                 ‘网易‘: {},
 9                 ‘google‘: {}
10             },
11             ‘中关村‘: {
12                 ‘爱奇艺‘: {},
13                 ‘汽车之家‘: {},
14                 ‘youku‘: {},
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 current_layer = menu  # 实现动态循环
47 parent_layer = []  # 保留所有父层,最后一个元素永远为父层
48
49 while True:
50     print(‘-‘ * 10, "菜单", ‘-‘ * 10)
51     for i in current_layer:  # 遍历打印地址
52         print(i)
53     print("请在下方输入菜单名称,或 b:返回上一层,q:退出\n", ‘-‘ * 26)
54     choice = input(" >>> ").strip()
55     if choice in current_layer:
56         if current_layer[choice]:  # 判断是否为末层
57             parent_layer.append(current_layer)  # 进入子层前,添加当前层作为父层
58             current_layer = current_layer[choice]  # 修改子层
59         else:
60             print(‘当前是最后一页‘)
61     elif choice == ‘‘:
62         continue
63     elif choice == ‘b‘ or choice == ‘B‘:  # 返回上层
64         if parent_layer:  # 判断 parent_layer 是否为空
65             current_layer = parent_layer.pop()  # 取出当前层父层
66     # 退出循环
67     elif choice == ‘q‘ or choice == ‘Q‘:
68         break
69     else:
70         print("\033[34;1m输入有误,请重新输入\033[0m")


原文地址:https://www.cnblogs.com/shihun/p/9219240.html

时间: 2024-08-02 01:43:41

Python实现三级菜单的相关文章

python 编写三级菜单

python版本 python3.5 所需用到的知识: 1,字典,列表 2,for while循环 查看代码 cat caidan.py #!/usr/bin/env python#_*_ coding:utf-8 _*_ import sys #列出商品的种类shopping = { "京东":{ "服装城":["女装","男装","童装"], "电器城":["电脑"

python之三级菜单

1 #-*- coding:utf-8 -*- 2 3 '''******************************************************' 4 三级菜单 5 1. 运行程序输出第一级菜单 6 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 7 3. 返回上一级菜单和顶部菜单 8 4. 菜单数据保存在文件中" 9 '******************************************************''' 10 11 import

python学习-三级菜单省市选择

用户交互,显示省市县三级联动的选择要求:用户输入河北,则打印河北省下的市,用户输入市,则显示该河北省的这个市下的县 1 dic = { 2 "河北": { 3 "石家庄": ["鹿泉", "藁城", "元氏"], 4 "邯郸": ["永年", "涉县", "磁县"], 5 }, 6 "河南": { 7 ...

Python入门-三级菜单

作业题目: 三级菜单 作业需求: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youku':{}, }, '上地':{ '百度':{}, }, }, '昌平':{ '沙河':{ '优衣库':{}, '北航':{}, }, '天通苑':{}, '回龙观':{}, }, '朝阳':{}, '东城':{}, }, '上海':{ '闵行':{ "人民广场&q

python学习---三级菜单

开发环境: OS:64位Windows 7 IDE:pycharm4.0.4 python版本:2.7.10 程序简述: a.本程序实现的功能为球迷可以选出自己喜欢的球队与球员 b.程序共三级目录,第一级分东部与西部分区,第二级为各分区下的球队列表,第三级为球队列表下的球员列表,每个球员的基本信息为球员比赛角色 c.在每一级目录下,客户可以在当级目录下进行选择,序号对应选项,q对应退出整个程序,b代表回到上一级重新选择. 版权说明: 本多级菜单程序只做python学习使用,版权有作者所有,未经过

Python练习-三级菜单与"片儿"无关!

# 编辑者:闫龙 #三级目录 menu = { '北京':{ '海淀':{ '五道口':{'soho':{},'网易':{},'google':{}}, '中关村':{'爱奇艺':{},'汽车之家':{},'youku':{},}, '上地':{'百度':{},}, }, '昌平':{ '沙河':{'老男孩':{},'北航':{},}, '天通苑':{}, '回龙观':{}, }, '朝阳':{}, '东城':{}, }, '上海':{ '闵行':{ '人民广场':{'炸鸡店':{}} }, '

python 打印三级菜单

刚刚学习python,发现很多基础理论都能懂,但是要写点东西,就脑袋一片空白,后面看了网友的文章才慢慢写出来 ...... 原文:http://www.cnblogs.com/pyramid1001/p/5803294.html 1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 # __author__ = cjx 4 import sys 5 6 china_map = { 7 '山东': { 8 '青岛': ['四方', '黄岛', '

python 之三级菜单

#author:zhouyu area = {     '广东':{         '揭阳':{             '普宁':{                 '里湖',                 '梅塘',                 '流沙'                     },             '洪阳':{'1','2'},             '揭西':{'1','2'}},         '深圳':{'1','2'},         '广州'

Python 三级菜单

Python 三级菜单 需求 打印省.市.县三级菜单 可返回上一级 可随时退出程序 代码实现 1 menu = { 2 '北京':{ 3 '海淀':{ 4 '五道口':{ 5 'soho':{}, 6 '网易':{}, 7 'google':{} 8 }, 9 '中关村':{ 10 '爱奇艺':{}, 11 '汽车之家':{}, 12 'youku':{}, 13 }, 14 '上地':{ 15 '百度':{}, 16 }, 17 }, 18 '昌平':{ 19 '沙河':{ 20 '老男孩':