三级菜单

# Author:Crystal
data = {
'北京':{
"昌平":{
"沙河":["oldbay","test"],
"天通苑":["连捷地产","我爱我家"]
},
"朝阳":{
"望京":["宝马","奔驰"],
"国贸":{"HP","CP"},
"东直门":{"费心","Advent"}
},
"海淀":{}
},
'山东':{
"德州":{},
"青岛":{},
"济南":{}
},
'广东':{
"东莞":{},
"常熟":{},
"佛山":{}
},
}
exit_flag=False
while not exit_flag:
for i in data:
print(i) #打印第一层,L1
choice = input("选择进入1>>:") #用户输入
if choice in data: #判断输入的值是否在data中
while not exit_flag:
for i2 in data[choice]:
print("\t",i2) #打印第二层,L2
choice2 = input("选择进入2>>:")
if choice2 in data[choice]: #判断输入的值是否在data[choice]中
while not exit_flag:
for i3 in data[choice][choice2]:
print("\t\t",i3) #打印第三层,L3
choice3 = input("选择进入3>>:")
if choice3 in data[choice][choice2]: #判断输入的值是否在data[choice][choice2]中
for i4 in data[choice][choice2][choice3]:
print("\t\t",i4) #打印第四层,L4
choice4 = input("最后一层,按b返回>>:")
if choice4 == 'b':
pass #pass的作用是占位符
elif choice4 == 'q':
exit_flag = True #判断是否退出,如退出设置exit_flag为true
if choice3 == 'b':
break
elif choice3 == 'q':
exit_flag = True #判断是否退出,如退出设置exit_flag为true
if choice2 == 'b':
break
elif choice2 == 'q':
exit_flag = True #判断是否退出,如退出设置exit_flag为true

  

Python语言学习:homework2的更多相关文章

  1. python语言学习

    前段时间要做视频直播需要编写自动模块,就考虑使用python脚本语言,python的好多语法都是很独特的,比如数据类型不需要预定义,缩进的方式等,另外功能也很强大,豆瓣就是用python写的.我写的部 ...

  2. Python语言学习之Python入门到进阶

    人们常说Python语言简单,编写简单程序时好像也确实如此.但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制.要想用好Pytho ...

  3. python语言学习1——初识python

    Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 龟叔给Python的定位是“优雅”.“明确”.“简单”,所以Python ...

  4. Python语言学习之C++调用python

    C++调用python 在C/C++中嵌入Python,可以使用Python提供的强大功能,通过嵌入Python可以替代动态链接库形式的接口,这样可以方便地根据需要修改脚本代码,而不用重新编译链接二进 ...

  5. python语言学习笔记整理

    什么是程序? 程序等于数据结构加算法,那么数据结构是一个静态的东西,算法是一个动态的东西,我们用一个新的语言编写这个程序,我们要考虑到语言也主要由数据结构和算法相关的东西,或静态或动态的东西来构成,所 ...

  6. python语言学习8——字符串和编码

    Unicode编码 计算机只能处理数字,如果要处理文本,就必须把文本转化为数字才能处理 有许多编码标准,但是不同的编码标准有时候会混乱,所以Unicode应运而生 Unicode把所有语言统一到一套编 ...

  7. python语言学习7——数据类型和变量

    整数 python可以处理任意大小的整数,包括负整数,在程序中的表示方法和数学上的写法一样 计算机由于使用二进制,有时候采用十六进制表示整数比较方便,十六进制数用0x前缀 浮点数 简单的小数就直接用小 ...

  8. python语言学习--2

    第三天1. python代码缩进规则:具有相同缩进的代码被视为代码块,4个空格, 不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误. 2.list:[...] 用(名称任意 ...

  9. 值得关注的10个Python语言学习博客

    大家好,还记得我当时学习python的时候,我一直努力地寻找关于python的博客,但我发现它们的数量很少.这也是我建立这个博客的原因,向大家分享我自己学到的新知识.今天我向大家推荐10个值得我们关注 ...

随机推荐

  1. 第十八篇 admin组件

    admin组件 admin组件使用 admin源码解析 admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以 ...

  2. oracle数据库语言(1)--数据定义语言

      1.数据定义语言 (DDL)DATE DEFINITION LANGUAGE 作用是用于增删改 数据库对象 (1) 创建表格 CREATE TABLE EMP ( -------创建 名为 EMP ...

  3. tableau创建定量值地图

    一.官方案例:定量值地图的创建 数据形式:  过程: 分别双击经纬度(默认的纬度会自动添加到行功能区,经度到列功能区) 将Id放入标记卡详细信息 将Magnitude^10(震级^10)放入大小,(该 ...

  4. hdfs 删除和新增节点

    最近发现hdfs的一个问题,每当集群开启的时候,有一个节点上的可用空间就一直在减少,并且速度很快,发现是data目录下的dncp_block_verification.log.curr文件在一直变大, ...

  5. bzoj 4236JOIOJI

    一开始忘掉特殊情况也是蛋疼2333(有一直到头的.mp[0][0]是要特判的) 做法也就是找mp[i][j]相同的东西.(貌似可以写成线性方程组(z=x+A,z=y+B)过这个的就是相等(可以先从2维 ...

  6. BZOJ:2815: [ZJOI2012]灾难

    题解: 构造灭绝树: x指向的点表示x的祖先死亡则x死亡 动态LCA: 可以用LCT维护或直接更新倍增数组 最后统计子树点的个数 坑: 我还不会序列型Toposort #include<iost ...

  7. linux提交代码到github

    1.首先你得注册个github账户 .... 2.新建项目(可以选择私有或者公开的) 3.上述github代码仓库建立好了 ,就回到自己的linux服务器 3.1  在自己的项目目录里 qi 3.1. ...

  8. 小白学Python——Anaconda安装

    小白:Mr.林,快救救我,我被那些数据压得喘不过气了. Mr.林:小白,表方,怎么了? !   小白:Mr.林,我从公司数据平台上下了一堆数据,如果选择时间范围广的话,平台就卡的动不了,动不动还奔溃, ...

  9. 对于AVL树和红黑树的理解

    AVL又称(严格)高度平衡的二叉搜索树,也叫二叉查找树.平衡二叉树.window对进程地址空间的管理用到了AVL树. 红黑树是非严格平衡二叉树,统计性能要好于平衡二叉树.广泛的在C++的STL中,ma ...

  10. 转:JS高级学习笔记(8)- JavaScript执行上下文和执行栈

    必看参考: 请移步:博客园 JavaScript的执行上下文 深入理解JavaScript执行上下文和执行栈 JavaScript 深入之执行上下文 写在开头 入坑前端已经 13 个月了,不能再称自己 ...