多级菜单要求:

     1.三级菜单    
     2.可依次选择进入各子菜单
     3.可以返回上一层
     4.输入‘q’可以退出
 
脚本:
 zone = {
'北京' : {
'朝阳' : ['太阳宫','芍药居'],
'丰台' : ['六里桥','大红门'],
'海淀' : ['中关村','大钟寺']
},
'保定' : {
'高碑店' : ['白马','市一中'],
'涿州' : ['三义宫','松林店'],
},
'广东' : {
'深圳' : ['aa','bb'],
'东莞' : ['','']
}
} province_list = list(zone.keys()) while True:
print(" 省 ".center(50,'*'))
for i in province_list:
print(province_list.index(i)+1,i)
pro_id = input("请输入省编号,或输入q(quit)退出:")
if pro_id.isdigit():
pro_id = int(pro_id)
if pro_id > 0 and pro_id <= len(province_list):
pro_name = province_list[pro_id-1]
city_list = list(zone[pro_name].keys())
while True:
print(" 市 ".center(50,'*'))
for v in city_list:
print(city_list.index(v)+1,v)
city_id = input("请输入市编号,或输入b(back)返回上级菜单,或输入q(quit)退出:")
if city_id.isdigit():
city_id = int(city_id)
if city_id > 0 and city_id <= len(city_list):
city_name = city_list[city_id-1]
town_list = zone[pro_name][city_name]
while True:
print(" 县 ".center(50,'*'))
for j in town_list:
print(town_list.index(j)+1,j)
back_or_quit = input("输入b(back)返回上级菜单,或输入q(quit)退出:")
if back_or_quit == 'b':
break
elif back_or_quit == 'q':
exit()
else:
print("输入非法!")
else:
print("编号%d不存在。"%city_id)
elif city_id == 'b':
break
elif city_id == 'q':
exit()
else:
print("输入非法!")
else:
print("编号%d不存在。"%pro_id)
elif pro_id == 'q':
break
else:
print("输入非法!")

执行结果:

*********************** 省 ************************
1 北京
2 保定
3 广东
请输入省编号,或输入q(quit)退出:1
*********************** 市 ************************
1 朝阳
2 丰台
3 海淀
请输入市编号,或输入b(back)返回上级菜单,或输入q(quit)退出:b
*********************** 省 ************************
1 北京
2 保定
3 广东
请输入省编号,或输入q(quit)退出:q

Python练习----多级菜单的更多相关文章

  1. python 练习多级菜单思路

    只写了一个zj的三级菜单,后面的功能没写 #-*- coding :utf-8 -*- print """ 你可以输入省份然后根据市县输入 ""&qu ...

  2. python作业设计:多级菜单,并可依次进入各级子菜单

    '''作业三:多级菜单 三级菜单 可依次选择进入各子菜单 所需新知识点:列表.字典 ''' data = { "北京":{ "昌平":{ "沙河&qu ...

  3. Python作业之多级菜单

    作业之多级菜单 菜单实现要求: 1. 列出菜单选择供选择 2. 选择对应内容进入下一级菜单 3. 任何时候都可以选择退出程序或返回上一级菜单 具体代码如下: goods = {'华为':{'A系':{ ...

  4. Python简单实现多级菜单

    # -*- coding: utf-8 -*- # @Time : 2018-06-01 13:40 # @Author : 超人 # @Email : huxiaojiu111@gmail.com ...

  5. s12-day01-work02 python多级菜单展示

    README # README.md # day001-work-2 @南非波波 功能实现:多级菜单展示 流程图: ![](http://i.imgur.com/VTPPhZU.jpg) 程序实现: ...

  6. Python多级菜单

    作业2:多级菜单三级菜单可依次选择进入各子菜单所需新知识点:列表.字典 1.流程图 2.登录界面,输入对应索引 #!/usr/bin/env python3 # -*- coding:utf-8 -* ...

  7. Python基础-小程序练习(跳出多层循环,购物车,多级菜单,用户登录)

    一. 从第3层循环直接跳出所有循环 break_flag = False count = 0 while break_flag == False: print("-第一层") wh ...

  8. Python学习-------------------三级菜单简单版

    题目: 多级菜单         1.三级菜单         2.可依次选择进入的各子菜单         3.所需新知识点:列表.字典 ReadMe: 这个做循环,比较绕脑子 点开运行即可 Min ...

  9. 2_python之路之多级菜单

    python之路之多级菜单 1.使用知识点 (1)列表,字典的使用 (2)if条件判断语句 (3)for/while循环的使用 2.代码详细 #!/usr/bin/env python # _*_ c ...

随机推荐

  1. 201521123036 《Java程序设计》第2周学习总结

    本周学习总结 java数据类型: 基本类型:整数,浮点,boolean类 引用类型:数组,类,接口,null类型 String类:String类的对象不可变,字符串API,大量修改字符串使用Strin ...

  2. 201521123059 《Java程序设计》第一周学习总结

    第一周学习总结 1.本周学习总结 开学第周我们开始了JAVA学习,刚开始还有点懵,连熟悉相关的软件都要摸索很久,最后在看老师给的一些教程和课本的情况下安装了JDK和eclipse等软件,并进行了一次实 ...

  3. JavaSE集合(十)之Map

    前面给大家介绍了集合家族中的Collection家族,这一篇给大家分享的是集合中的另一个家族就是Map家族.以前的时候学习Map的时候没有很认真的去学习,我觉得很多东西还是不是很清楚. 这次我将总结的 ...

  4. python2/python3 内存中打包/压缩文件

    python2:(包含压缩选项,如果只打包,可以调整zipfile.ZIP_DEFLATED) import zipfile import StringIO class InMemoryZip(obj ...

  5. oracle "记录被另一个用户锁定"

    出现的原因是有人对某一条数据进行了修改,oracle会通过这个事务记住这条数据,若修改的人没有进行提交或进行回滚记录,oracle是不允许对这条数据在此进行修改的,在这种情况下你要进行修改数据,则会被 ...

  6. 乐橙谷浅析JAVA程序员就业前景

    不知道大家对Java就业前景了解多少.随着信息化的发展,IT培训受倒了越来越多人的追捧.在开发领域,JAVA培训成为了许多人的首选!JAVA应用广泛,JAVA培训就业前景良好!目前,虽然JAVA人才的 ...

  7. LuoguP1196_银河英雄传说_KEY

    银河英雄传说 题目描述 公元5801年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历799年,银河系的两大军事集团在巴米利恩星域爆 ...

  8. MySQL高级查询(一)

    修改表 修改表名 语法: ALTER  TABLE<旧表名> RENAME  [TO] <新表名>; 添加字段 语法: ALTER  TABLE 表名 ADD 字段名 数据类型 ...

  9. Linux 安装PHP探针

    学习linux系统还是很有意思的事情,下面这个就是探针,想必有人已经看到过类似的界面主要用来查看自己服务器的运行状况,简单看看内存占用及运行时间就可以了 1 首先要安装Apahce 及 php,命令如 ...

  10. QT_FORWARD_DECLARE_CLASS

    相当于class 类名. 那么他和#include 包含头文件有什么区别呢 首先我们为什么要包括头文件问题的回答很简单通常是我们需要获得某个类型的定义(definition).那么接下来的问题 ...