码迷,mamicode.com
首页 > 其他好文 > 详细

三级菜单。

时间:2019-09-24 15:39:30      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:火车站   网易   input   for 循环   pre   end   bre   用户   浦东   


 1 menu = {
 2     北京:{
 3         海淀:{
 4             五道口:{
 5                 soho:{},
 6                 网易:{},
 7                 google:{}
 8             },
 9             中关村:{
10                 爱奇艺:{},
11                 汽车之家:{},
12                 youku:{},
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 1. 可依次选择进入各子菜单  # 2个变量来做字典, for 循环key
47 2. 可从任意一层往回退到上一层  # input 选择
48 3. 可从任意一层退出程序   # 退出循环
49 ‘‘‘
50 
51 c_menu = menu   # 当前的字典 c=current
52 p_menu = []    # 通过列表来存储字典信息, P=previous
53 while True:
54     # 循环打印字典列表key
55     for key in c_menu:
56         print(key)
57     choice = input(">>>:").strip().lower()  # 等待用户输入 去掉空格全部小写方便后面识别
58     if choice in c_menu:   # 进入下一层
59         p_menu.append(c_menu)  # 把当前层添加到列表
60         c_menu = c_menu[choice]    # 当前层变为选择choice的下一层
61     elif choice == "b":
62         if p_menu:
63             c_menu = p_menu[-1]# 从列表中取到最后一个值,即循环的上一层,赋值给current_menu
64             p_menu.pop()   # 删除后,保持列表不会在返回上层出错   
65     elif choice == "q": break  # 如果输入q,结束程序。
66     else:
67         print(错误信息,请再次选择.center(50,*))
68     if not c_menu:
69         print(没有信息,请按B返回:)

 

 

三级菜单。

标签:火车站   网易   input   for 循环   pre   end   bre   用户   浦东   

原文地址:https://www.cnblogs.com/benzhangwen/p/11578459.html

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