python三级菜单
#-*- coding:utf-8 -*-
#Author:gxli #一级菜单项
def menu():
#遍历字典dic一级菜单
print('-----------一级菜单----------------')
for index,key in enumerate(dic.keys(),1):
print(index,key)
##将一级key的下标与key放入临时字典中
dic_key[str(index)]=key
choose = input("请选择1级菜单!退出输入 q ,返回请输入 b :")
#判断输入,输入q时退出,输入b时提示无法返回
if choose == 'q':
quit()
elif choose == 'b':
print('目前为一级目录,无法返回!请重新选择!')
return
#判断用户输入是否在临时字典的key中,若有调用二级菜单
elif dic_key.get(choose,0):
menu_1(dic_key[choose])
else:
print('')
print('您的输入有误,请重新输入!') #二级菜单项
def menu_1(choose1):
#输入有误时重新加载二级菜单项
while True:
print('')
print('-----------二级菜单----------------')
# 遍历字典dic二级菜单
for index,key in enumerate(dic[choose1].keys(),1):
print(index,key)
##将二级key的下标与key放入临时字典中
dic_key[str(index)] = key
choose2 = input("请选择2级菜单!退出输入 q ,返回请输入 b :")
# 判断输入,输入q时退出,输入b时调用1级菜单
if choose2 == 'q':
quit()
elif choose2 == 'b':
menu()
elif dic_key.get(choose2, 0):
menu_2(choose1, dic_key[choose2])
else:
print('')
print('您的输入有误,请重新输入!') #三级菜单项
def menu_2(choose1, choose2):
#输入有误时重新加载三级菜单项
while True:
# 遍历字典dic三级菜单
print('')
print('-----------三级菜单----------------')
for index,key in enumerate(dic[choose1][choose2],1):
#显示key与key的下标
print(index,key)
#将三级key的下标与key放入临时字典中
dic_key[str(index)] = key
choose3 = input("请选择3级菜单!退出输入 q ,返回请输入 b :")
# 判断输入,输入q时退出,输入b时调用1级菜单
if choose3 == 'q':
quit()
elif choose3 == 'b':
menu_1(choose1)
else:
print('')
print('您的输入有误,请重新输入!') if __name__ == '__main__':
# 设置菜单
dic = {
"动物": {
"狗": ["大狗", "小狗"],
"猫": ["大猫", "小猫"]
},
"植物": {
"树": ["大树", "小树"],
"花": ["大花", "小花"]
}
}
dic_key = {} while True:
menu()
python三级菜单的更多相关文章
- python三级菜单实例(傻瓜版和进阶版)
程序: python三级菜单 要求: : 1.打印省.市.县三级菜单 2.可返回上一级 3.可随时退出程序 方案一:傻瓜版(其实傻瓜版考察的主要是思路!思路清楚了,那才不是傻瓜!O(∩_∩)O哈哈~) ...
- python(5)- 简单练习:python三级菜单优化
python三级菜单优化,菜鸟版链接:http://www.cnblogs.com/xuyaping/p/6648170.html menu = { '北京':{ '海淀':{ '五道口':{ 'so ...
- python三级菜单的实现
一.作业要求 1.使用字典实现三级菜单功能 2.直接输入前面数字进入下一级菜单 3.按B返回上一级,按Q退出 二.需要知识点 1.if循环 2.for循环,enumerate的用法 3.while循环 ...
- python 三级菜单 while循环三次,湖北省市-县-街道的选择,3个while的循环 -day2
python编写一个三级while的循环菜单 1.定义字典,字典里面嵌套字典,内嵌字典的值为列表. 思路: 湖北省的市:字典中的定义3个字典,用于存储{序列-键:市名} shiqu_dir = {} ...
- Python 三级菜单 增强版
需要实现的功能是:三级菜单1.从文本内读出选项2.查询每一级的选项,并能对选项进行增/删/改功能3.每一级可以退出程序或者返回上一层 2018-5-14 更新内容 思路 实现过程中的BUG及解决方案: ...
- Python 三级菜单与优化(一层循环嵌套)
优化的思路是使用单层循环嵌套完成三级菜单,这个优化思路我非常喜欢,我喜欢在编程的时候用最少的东西写出同样的效果,通常这样会绕来绕去,但非常有趣!!! 需求: 1.运行程序输出第一级菜单: 2.选择一级 ...
- Python——三级菜单
#三级菜单函数 menu = { '北京':{ 海淀:{ '五道口':{} '中关村':{} '上帝':{} } '昌平':{} '朝阳':{} '东城':{} }, '上海':{} '山东':{} ...
- 4th,Python三级菜单
1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 data = { '北京': ...
- [terry笔记]python三级菜单
把三级菜单输出,选择后逐层显示,”b“返回上一级菜单. menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村': ...
随机推荐
- XSS测试语句大全
'><script>alert(document.cookie)</script> ='><script>alert(document.cookie)& ...
- .NET Web开发总结(五)
7 常用服务器控件 7.1 服务器控件概述 · 服务器控件是指在服务器上执行程序的代码的组件 通常这些服务器控件会提供 给用户一定的界面, 以便用户与服务器之间快速的交互 7.2 HTML 服 ...
- sql取字段特定符号的前/后
declare @canshu varchar(200)set @canshu='24§咨询客户'--某符号之后的字段内容select substring(@canshu,charindex('§', ...
- Tomcat启动过程(一):从BootStrap到EndPonit
Tomcat版本tomcat6.0.44观察catalina.sh文件,启动入口:org.apache.catalina.startup.Bootstrap,该类main方法执行下面三个方法----- ...
- ASPX页面包含inc文件、用户控件、普通html文件
如果你是从asp程序员转过来一定不习惯.net的编程风格吧,代码和页面时分离的,asp和php里面时常是引入, 比如<!--#include File="xxxxxxx"-- ...
- 前端javascript发送ajax请求、后台书写function小案例
HTML端页面: <td> <input class="pp_text" type="text" name="" valu ...
- 重回程序员之路。重写博客。我的ecshop小京东二开问题汇总与解决方案。
问题1:混合支付(余额支付+在线支付)不跟更新订单状态问题. 解决方案:http://bbs.ecshop.com/viewthread.php?tid=156761&highlight= i ...
- IBM开发者 JSON 教程
在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式.掌握 Ajax 的这一期讨论另一种有用的数据格式 JavaScript Object Notation(JSON),以及如何 ...
- android 特效UI实现
弧形菜单 https://github.com/daCapricorn/ArcMenu
- c++ 类与函数中static变量初始化问题(转)
首先static变量只有一次初始化,不管在类中还是在函数中..有这样一个函数: void Foo() { ; // initialize std::cout << a; a++; } 里的 ...