程序中利用多级字典来存储三级菜单, 通过一系列while循环和for循环,实现了三级菜单的查询,选择,退回上级菜单,退出程序几个功能。

缺点:程序语句过于重复,效率低。

#-*-coding:utf-8-*-
date={
'北京':{
'昌平区':{
'沙河':['oldboy','test'],
'通天苑':['链家地产','我爱我家'] },
'朝阳区':{
'望京':['奔腾','默默'],
'国贸':['CICC','HP'],
'东直门':['Advent','飞信']
},
'海定区':{
'天安门':['国旗','花'],
'长成':['砖头','城墙'],
}
},
'河南':{
'郑州市':{
'二七区':['二七塔','国美电器'],
'回族区':['人民公园','大学城']
},
'商丘市':{
'古城区':['古城墙','小吃一条街'],
'东关区':['情人屋','医院']
},
'洛阳市':{
'龙门区':['龙门石窟','皇宫'],
'峡谷区':['龙潭大峡谷','牡丹园']
}
}
}
may_exit=False
while not may_exit:
for i in date:
print (i)
choice=raw_input('选择进入1:')
if choice in date:
while not may_exit:
for i2 in date[choice]:
print i2
choice2 = raw_input('选择进入2,按q退回上一级:')
if choice2 in date[choice]:
while not may_exit:
for i3 in date[choice][choice2]:
print i3
choice3=raw_input('选择进入3,按q退回上一级:')
if choice3 in date[choice][choice2]:
for i4 in date[choice][choice2][choice3]:
print i4
choice4 = raw_input('最后的选择,按b退出,按q退回上一级:')
if choice4.upper()=='B':
may_exit = True
print '成功退出程序'
elif choice4.upper()=='Q':
pass
else:
print '选择结束,你的选择结果是%s:'%choice4
exit() elif choice3.upper() == 'Q':
break elif choice2.upper()=='Q':
break

运行结果:

python 小程序—三级菜单—循环和字典练习的更多相关文章

  1. python 购物车和三级菜单

    程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 ...

  2. Python 小程序,对文件操作及其它

    以下是自己写的几个对文件操作的小程序,里面涉及到文件操作,列表(集合,字典)的运用等.比方说,从文件里读取一行数据.分别存放于列表中,再对列表进行操作.如去掉里面的反复项.排序等操作. 常见对文件里行 ...

  3. python练习_三级菜单

    python练习_三级菜单 需求: 做一个地区查询三级菜单,输入一级能够打印下一级 在第三级个第二级输入e可以返回上一级 在任意一级输入q则退出程序 以下代码实现的功能与思路: 功能: (1)通过In ...

  4. Python学习之三级菜单

    Python经典练习题 - 三级菜单 需求: 可依次选择进入各子菜单 可从任意一层往回退到上一层 可从任意一层退出程序 示例代码: # -*- coding: utf-8 -*- menu = { ' ...

  5. 微信小程序wepy开发循环wx:for需要注意

    微信小程序wepy开发循环wx:for需要注意 item index值必须在wx:for之后使用 <view wx:for="{{tablist}}" class=" ...

  6. python小练习:使用循环和函数实现一个摇骰子小游戏。游戏规则如下:游戏开始,首先玩家选择Big or Small(押大小),选择完成后开始摇三个骰子,计算总值,11<=总值<=18为“大”,3<=总值<=10为“小”。然后告诉玩家猜对或者是猜错的结果。

    python小练习:使用循环和函数实现一个摇骰子小游戏.游戏规则如下:游戏开始,首先玩家选择Big or Small(押大小),选择完成后开始摇三个骰子,计算总值,11<=总值<=18为“ ...

  7. 怎么样通过编写Python小程序来统计测试脚本的关键字

    怎么样通过编写Python小程序来统计测试脚本的关键字 通常自动化测试项目到了一定的程序,编写的测试代码自然就会很多,如果很早已经编写的测试脚本现在某些基础函数.业务函数需要修改,那么势必要找出那些引 ...

  8. Day1:第一个python小程序

    Day1:第一个python小程序与开发工具Pycharm 一.Hello World C:\Users\wenxh>python Python 3.6.2 (v3.6.2:5fd33b5, J ...

  9. python开发基础作业02:三级菜单,使用字典dic及列表

    作业要求及提示:三级菜单 ''' 1.三级菜单 2.可依次进入各子菜单 3.菜单能够回到上一级 4.用到知识点:字典.列表.多层循环.函数 条件:基本  if  else 嵌套  if...if... ...

随机推荐

  1. box-shadow IE8兼容处理

    根据canisue(http://caniuse.com/#search=box-shadow),box-shadow兼容性如下图所示: 测试代码: <!DOCTYPE html> < ...

  2. iOS开发之类扩展

    在以往写代码时,我们经常是把声明写在.h文件中,把实现写在.m文件中,但是在实际开发中,如果把声明写在.h文件中会暴露程序很多属性(成员变量.成员变量的get和set方法),为了安全考虑,引入了类扩展 ...

  3. 手动es6编译es5(命令行)

    package.json:"devDependencies": { "babel-cli": "^6.18.0", "babel- ...

  4. 1、初识Activity

    Activity是Android的基本组成部分,是人机交互程序入口:一个Android项目由多个Activity组成,所有的显示组件必须放在Activity上才能进行显示. (1)Android项目工 ...

  5. Myeclipse Java项目转换成Maven项目

    1.在Eclipse中Java项目转换成Maven项目可以在项目右键-->configure-->Convert Plug-in projects..  就可以.而在myeclipse中项 ...

  6. vuejs单一事件管理组件间的通信

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 【C语言】printf()函数详解

    printf函数称为格式输出函数,其关键字最末一个字母f即为"格式"(format)之意.其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上.在前面的例题中我们已多次使用过这 ...

  8. 分享一个低配VPS下运行的mysql配置文件

    在各种内存CPU核心只有1/2核,内存只有512M/1G的vps下,内存.CPU.硬盘都不是太充裕.因此主要思路是,禁止吃内存大户innodb引擎,默认使用MyISAM.禁止吃硬盘大户log-bin, ...

  9. 老李分享:《Linux Shell脚本攻略》 要点(五)

    老李分享:<Linux Shell脚本攻略> 要点(五)   //1.打包.解包 [root@localhost program_test]# tar -cf output.tar 11. ...

  10. 聊天界面使用IQKeyboardManager导航栏及整个页面上移的解决方法

    问题: 使用第三方库IQKeyboardManager时会使整个页面上移,导航栏页偏移出了显示范围.在聊天界面就会使得上面的消息看不到. 解决方法: 首先说明:在聊天界面使用IQKeyboardMan ...