python三级菜单练习

Posted 无敌帅气风骚走位

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python三级菜单练习相关的知识,希望对你有一定的参考价值。


需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
 所需新知识点:列表、字典
技术分享图片
 1 # -*- coding:utf-8 -*-
 2 # Author:Xiaorui
 3 # 需求:
 4 # 可依次选择进入各子菜单
 5 # 可从任意一层往回退到上一层
 6 # 可从任意一层退出程序
 7 # 所需新知识点:列表、字典
 8 menu = {
 9     北京: {
10         海淀: {
11             五道口: {
12                 soho: {},
13                 网易: {},
14                 google: {}
15             },
16             中关村: {
17                 爱奇艺: {},
18                 汽车之家: {},
19                 youku: {},
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 place_menu = menu
52 last_place_layers = []  # 采用列表,目的是之后可以调用列表的pop()方法
53 while True:    # while死循环保证非用户退出就一直在循环中,且只使用一次while循环
54     for i in place_menu:
55         print(i)
56     choice = input("请输入地名:").strip()   # strip()方法除去输入俩侧空格
57     if not choice:     # 判断用户是否输入的已有地名
58         continue
59     else:
60         pass         # if..else语句完整,便于阅读
61     if choice in place_menu:   # 判断用户是否输入的已有地名
62         last_place_layers.append(place_menu)   # 运用append()方法保存操作前的一层
63         place_menu = place_menu[choice]    # 进入下一层
64         if not place_menu:    # 判断是否处在底层,if进行判断时字典空为假,所以此处用not
65             print("你已经处在底层,回到上层请输入b,退出请输入p!")
66         else:
67             pass
68     elif choice == "b" or choice == "B":  # 任意层可返回上一层
69         if len(last_place_layers) != 0:
70             place_menu = last_place_layers.pop()
71         else:
72             print("目前处于顶层!")
73     else:    # 任意层可退出
74         if choice == "p" or choice == "P":
75             break
76         else:
77             pass     # PEP8规范pass等不可结尾
View Code





以上是关于python三级菜单练习的主要内容,如果未能解决你的问题,请参考以下文章

python- 简单练习:python三级菜单优化

python练习题:三级菜单

课堂练习:Python-三级菜单

Python程序练习2--模拟三级菜单

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

简单练习:Python三级菜单优化