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

Posted 南城南的思念,北城北的等待

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单练习: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                 北航:{},
21             },
22             天通苑:{},
23             回龙观:{},
24         },
25         朝阳:{},
26         东城:{},
27     },
28     上海:{
29         闵行:{
30             "人民广场":{
31                 炸鸡店:{}
32             }
33         },
34         闸北:{
35             火车战:{
36                 携程:{}
37             }
38         },
39         浦东:{},
40     },
41     山东:{},
42 }

代码如下:

 1 current_layer=menu        #当前层
 2 last_layers=[menu]        #上一层
 3 while True:
 4     for key in current_layer:         #打印第一层菜单
 5         print(key)
 6     choice=input(">>:").strip()       #选择第二层菜单
 7     if choice in current_layer:            
 8         last_layers.append(current_layer)        #进入下一层菜单前,把当前层菜单加入上一次菜单中
 9         current_layer=current_layer[choice]      #当前层菜单被重新定义,进入循环打印下一层菜单
10     if choice==0:                                #选择菜单层为空,结束本次循环
11         continue
12     if choice=="q":                             #选择菜单层为“q”,结束本层循环
13         break
14     if choice=="b":                             #选择菜单层为“b”,返回上一层菜单
15         current_layer=last_layers[-1]           #返回上一层菜单前,当前层被重新定义
16         last_layers.pop()                       #删除最后一次进入下一层菜单所加入的上一层列表数据
17 print("程序结束!")
18   

 

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

目录--知识详解

python练习——moudule01——三级菜单

Python练习_三级菜单

python练习题:三级菜单

课堂练习:Python-三级菜单

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