菜单

menu = {     #定义一个字典
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
}
back_flag = 0
while not back_flag: #无限循第一层
for i in menu: #for循环打印第一层字典
print(i)
SF= input('输入省:').strip() #让用户输入选择
if SF in menu: #判断用户输入的选择菜单是否包含;如果包含进入第二层选择
while not back_flag: #让程序停留第二层
for i1 in menu[SF]: # 遍历第二层字典
print(i1)#打印第二层字典
SS = input('输入市:').strip() #让用户输入选择
if SS in menu[SF]: #判断用户选择二层菜单是否包含
while not back_flag: # 如果包含让程序停留在第三层
for s1 in menu[SF][SS]:# 遍历打印第三层字典
print(s1)
xz = input("地址:").strip()# 让用户输入
if xz in menu[SF][SS]: #判断用户选择是否在三层字典有
while not back_flag: # 如果有让用户停留在四级caid
for g in menu[SF][SS][xz]:#遍历打印四级cai单
print('你居住在',g)
du = input("4===:").strip() # 让用户输入选择
if du == "b": # 如果用户输入b就退出程序
back_flag = 1
if du == "q": #如果输入q返回上一层
break
# else:
# back_flag = 1
if xz == "q":#如果输入q返回上一层
break
if xz == "b":# 如果用户输入b就退出程序
back_flag = 1
# else:
# back_flag = 1
if SS == "q":#如果输入q返回上一层
break
if SS == "b":
back_flag = 1
# else:
# back_flag = 1
if SF == "q":#如果输入q返回上一层
break
if SF == "b":# 退出
back_flag = 1

  测试

D:\python\python.exe D:/untitled/dir/for.py
北京
上海
山东
输入省:北京
海淀
昌平
朝阳
东城
输入市:haid
海淀
昌平
朝阳
东城
输入市:海淀
五道口
中关村
上地
地址:q
海淀
昌平
朝阳
东城
输入市:b Process finished with exit code 0

  

python基础之省份三级菜单的更多相关文章

  1. Python进阶实战之三级菜单

    目录 一.Python进阶实战之三级菜单 1.1 面条版 1.2 文艺青年版 一.Python进阶实战之三级菜单 打印省.市.县三级菜单 可返回上一级 可随时退出程序 1.1 面条版 menu = { ...

  2. Python学习之编写三级菜单(Day1,作业二)

    作业二:多级菜单 三级菜单 可依次进入各子菜单 在各级菜单中输入B返回上一级Q退出程序 知识点:字典的操作,while循环,for循环,if判断 思路: 1.开始,打印一级菜单让用户进行选择(可以输入 ...

  3. python第四天 三级菜单新思路

    今天是一个坎,在做三级菜单时卡住了,因为想要简洁的代码,就要用到递归函数,卡的不要不要的!不过最后在同学老师的提点帮助下,还是解决了! 2017-5-10发现之前的代码有BUG今天 修改了! 作业要求 ...

  4. python基础_制作多级菜单_(运用:字典_列表_元组等知识)

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author: nulige db = {} path = {} while True: temp = db ...

  5. Python实现简单的三级菜单

    话不多说,直奔代码 # 要处理的字典 dic1 = { '北京': { '东城': { '沙河': ['沙河机场', '链家'], '天通苑': ['北方明珠', '天通尾货'] }, '朝阳': { ...

  6. python入门编程之三级菜单编程

    菜单实现功能输入一层显示下一层菜单不论在哪层输入b返回上一层不论在哪层输入q退出菜单此代码通过利用字典的知识可以实现_Author_ = 'jc'data = { '北京':{ '昌平':{ '沙河' ...

  7. Python之路-(三级菜单)

    data = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youk ...

  8. Python学习5,三级菜单实例

    _author_ = "Happyboy" data = { '北京':{ "昌平":{ "沙河":["Happyboy" ...

  9. Python学习之字典--三级菜单

    效果图: 实现代码: dic = { '人物':{ '帽子':{'前年玄铁帽'}, '武器':{'屠龙宝刀'} }, '属性':{ '力量':{35}, '敏捷':{66} }, '任务':{ '主线 ...

随机推荐

  1. HahMap相关问题

    概述 文章对HashMap的部分细节进行介绍,JDK1.7之前有可能出现环形表的问题,而1.7之后进行了改进,文章对环形表现象的出现进行了解析,然后对HashMap注意的几个问题进行了解答. Hash ...

  2. 多租户SaaS平台的数据库方案

    1.1 多租户是什么 多租户技术(Multi-TenancyTechnology)又称多重租赁技术:是一种软件架构技术,是实现如何在多用户环境下 (此处的多用户一般是面向企业用户)共用相同的系统或程序 ...

  3. Ubuntu16.04+Ros+Usb_Cam ORB SLAM2

    转载自:https://www.jianshu.com/p/dbf39b9e4617亲测可用 1.其中编译ORB_SLAM2的   ./build.sh 和 ./build_ros.sh之前需要修改文 ...

  4. Linux安装Redis服务

    下载:wget  http://download.redis.io/releases/redis-5.0.5.tar.gz 解压:tar -zxvf redis-5.0.5.tar.gz 进入redi ...

  5. appium可通过SDK自带的uiautomatorviewer或monitor工具,来查看页面元素(Android)

    工具一:uiautomatorviewer 1.在SDK的tools目录中找到uiautomatorviewer,双击打开若出现闪退一般是jdk版本不匹配(建议安装jdk1.8的): 2.在使用这个工 ...

  6. MySQL8.0.11安装后,使用CMD无法启动mysql服务

    首先,先把mysql的bin路径添加到系统环境变量 这样做可以,直接进入CMD后执行mysql服务,不需要进入mysql的bin文件路径去执行. 第一步:在MySQL的安装文件的bin目录(例如:C: ...

  7. docker基础知识之挂载本地目录

    docker可以支持把一个宿主机上的目录挂载到镜像里. docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash ...

  8. CSS - px、em、%

    px(像素).em.% 百分比 1. em 1.1 本元素给定字体的 font-size 值,如果元素的 font-size 为 14px ,那么 1em = 14px:如果 font-size 为 ...

  9. python:布尔类型

    bool:有两个值,True 和 False bool 其实是int类型的一个子类,True一般为1,False一般为0 判断前一个是否是后一个的子类:issubclass(A, B) 内建函数boo ...

  10. windows和ubuntu安装以太坊客户端Mist

    Mist钱包下载地址:https://github.com/ethereum/mist/releases Mist = Ethereum Wallet + Web3 浏览器 Dapp:bancor 史 ...