码迷,mamicode.com
首页 > 编程语言 > 详细

python三级菜单练习

时间:2018-03-11 19:28:44      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:分享   网易   opened   不可   程序   blog   运用   while   you   


需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
 所需新知识点:列表、字典
技术分享图片
 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三级菜单练习

标签:分享   网易   opened   不可   程序   blog   运用   while   you   

原文地址:https://www.cnblogs.com/aidan/p/8544831.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!