三级菜单:

自己做的代码:

 china = {
'江苏':{
'南京':{
'江宁':{},
'白下':{},
'栖霞':{},
'江淮':{},
'浦口':{}
},
'宿迁':{
'宿城区':{},
'宿豫':{},
'泗阳':{},
'泗洪':{},
'沭阳':{}
},
'盐城':{
'盐都':{},
'亭湖':{},
'大丰':{},
}
},
'广州':{
'广东':{
'天河':{},
'白云':{},
'珠海':{}
},
'深圳':{
'罗湖':{},
'福田':{},
'南山':{}
},
'东莞':{
'莞城':{},
'长安':{},
'万江':{}
}
},
'浙江':{
'杭州':{
'下城':{},
'上城':{},
'西湖':{}
},
'宁波':{
'江东':{},'江北':{}
},
'温州':{
'龙湾':{},
'乐清':{},
'永嘉':{}
}
},
} flag_break = True while flag_break:
for key1 in china:
print(key1)
choice = input('please input your choice:>>>').strip()
if choice in china:
while flag_break:
for key2 in china[choice]:
print(key2)
choice2 = input('please input your choice:>>>').strip()
if choice2 in china[choice]:
while flag_break:
for key3 in china[choice][choice2]:
print(key3)
choice3 = input('please input your choice:>>>').strip()
if choice3 in china[choice][choice2]:
print('this is the last level')
elif choice3 == "q":
break
elif choice3 =='b':
flag_break = False
else:
print("无此项,请重新输入!")
elif choice2 == "q":
break
elif choice2 == 'b':
flag_break = False
else:
print("无此项,请重新输入!")
elif choice == "q":
break
elif choice == 'b':
flag_break = False
else:
print("无此项,请重新输入!")

老师讲的第一种方法:

 china = {
'江苏':{
'南京':{
'江宁':{},
'白下':{},
'栖霞':{},
'江淮':{},
'浦口':{}
},
'宿迁':{
'宿城区':{},
'宿豫':{},
'泗阳':{},
'泗洪':{},
'沭阳':{}
},
'盐城':{
'盐都':{},
'亭湖':{},
'大丰':{},
}
},
'广州':{
'广东':{
'天河':{},
'白云':{},
'珠海':{}
},
'深圳':{
'罗湖':{},
'福田':{},
'南山':{}
},
'东莞':{
'莞城':{},
'长安':{},
'万江':{}
}
},
'浙江':{
'杭州':{
'下城':{},
'上城':{},
'西湖':{}
},
'宁波':{
'江东':{},'江北':{}
},
'温州':{
'龙湾':{},
'乐清':{},
'永嘉':{}
}
},
} back_flag = False
exit_flag = False while not back_flag and not exit_flag:
for key in china:
print(key)
choice = input('1>>:').strip()
if choice == "q":
exit_flag = True
if choice in china:
while not back_flag and not exit_flag:
for key2 in china[choice]:
print(key2)
choice2 = input('2>>:').strip()
if choice2 == 'b':
back_flag = True
if choice2 == 'q':
exit_flag = True
if choice2 in china[choice]:
while not back_flag and not exit_flag:
for key3 in china[choice][choice2]:
print(key3)
choice3 = input('3>>:').strip()
if choice3 == 'b':
back_flag = True
if choice3 == 'q':
exit_flag = True
else:
back_flag = False
else:
back_flag = False
else:
back_flag = False

Python:Day07 作业的更多相关文章

  1. python day07作业答案

    1. sum=0 a=input() for i in a: sum=sum+int(i)**3 if sum==int(a): print('水仙数') 2. lst=[100,2,6,9,1,10 ...

  2. python day07作业

  3. python综合作业要求

    要求: 1.课程成绩数据(学号尾数为0,1同学完成) 至少要完成内容:分析每年不同班级平均成绩情况.不同年份总体平均成绩情况.不同性别学生成绩情况,并用一定图表展示. 2.集美大学各省录取分数数据(学 ...

  4. python 每周作业

    day2:python的简介与认识day2:# 1.写一个登录程序# username# passwd# 让用户输入账号和密码,输入用户和密码输入正确的话# 提示你 xxx,欢迎登录,今天的日期是xx ...

  5. 短篇文档兼职看过来 python 课后作业 assignment project

    文档兼职 开题报告 读后感 课后作业 等 代写 编程,Java ,Python,R,等语言的,国内外课程作业指导,写作. 有经验,有作品,成交快,放心! 可联系 QQ 550987425

  6. python基础作业1

    目录 附加练习题(提示:一步步拆解) 1.想办法打印出jason 2.想办法打印出大宝贝 3.想办法打印出run 4.获取用户输入并打印成下列格式 5 根据用户输入内容打印其权限 6 编写用户登录程序 ...

  7. python之作业--------购物车优化

    Read Me:继上次简单购物车的实现,有再一次的升级优化了下,现实现以下几个功能: 1.有客户操作和商家操作,实现,客户可以买东西,当金额不足提醒,最后按q退出,打印购物车列表 2.商家可以添加操作 ...

  8. Python之作业购物车

    作业之购物车优化 购物车优化要求如下: 用户入口: 启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就 ...

  9. python day07

    数据类型之间的相互转换 1.字符串转换成数字类型 判断哪些可以转换成数字型可以参考下面例题: # 判断实现将所有能转换为数字类型的字符串都转换为对应类型的数字# int: '10' = > 10 ...

随机推荐

  1. vim编辑器的设置

    1.vim编辑器设置分为两种设置,临时设置和永久设置 2.临时设置开启和关闭高亮模式(目前高亮模式是开启的) etc/ man.config vim man.config 在文本编辑器中命令行模式下输 ...

  2. 二进制安装 kubernetes 1.12(三) - 部署 Master 节点组件

    在Master节点部署组件 在部署Kubernetes之前一定要确保etcd.flannel.docker是正常工作的,否则先解决问题再继续. 创建 CA 证书 mkdir -p /iba/master ...

  3. 没有服务商如何购买ERP的序列号?

    一.试用期(未过期) 站点版购买: 门店版购买: 二.试用期(使用时间<=15天) 三.试用期(已过期) 登录时会弹出以下弹窗 剩下的购买步骤与未过期时购买步骤一致 四.续费 剩下步骤与未过期时 ...

  4. RHEL下SendMail修改发邮箱地址

    RHEL(Oracle Linxu/CentOS)系统下,如果使用sendmail发送邮件,如果不特殊设置,一般发件箱地址为user@hostname,例如,hostname为DB-Server.lo ...

  5. linux卸载openjdk

    本来不想写的网上的东西罗嗦死了 sudo apt-get purge openjdk*

  6. js获取地址栏中的数据

    window.location.href:设置或获取整个 URL 为字符串window.location.pathname:设置或获取对象指定的文件名或路径window.location.search ...

  7. java笔记--对信号量Semaphore的理解与运用

    java Semaphore 信号量的使用: 在java中,提供了信号量Semaphore的支持. Semaphore类是一个计数信号量,必须由获取它的线程释放, 通常用于限制可以访问某些资源(物理或 ...

  8. 在CentOS上配置SAMBA共享目录(转载)

    在CentOS上配置SAMBA共享目录 From: https://blog.csdn.net/qiumei1101381170/article/details/53265341 2016年11月21 ...

  9. 【MM系列】SAP MM 非限制/可用库存

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM 非限制/可用库存   ...

  10. 记一次 MySQL semaphore crash 的分析(爱可生)

    文章来源:爱可生云数据库作者:洪斌 DBA应该对InnoDB: Semaphore wait has lasted > 600 seconds. We intentionally crash t ...