#-*- 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三级菜单的更多相关文章

  1. python三级菜单实例(傻瓜版和进阶版)

    程序: python三级菜单 要求: : 1.打印省.市.县三级菜单 2.可返回上一级 3.可随时退出程序 方案一:傻瓜版(其实傻瓜版考察的主要是思路!思路清楚了,那才不是傻瓜!O(∩_∩)O哈哈~) ...

  2. python(5)- 简单练习:python三级菜单优化

    python三级菜单优化,菜鸟版链接:http://www.cnblogs.com/xuyaping/p/6648170.html menu = { '北京':{ '海淀':{ '五道口':{ 'so ...

  3. python三级菜单的实现

    一.作业要求 1.使用字典实现三级菜单功能 2.直接输入前面数字进入下一级菜单 3.按B返回上一级,按Q退出 二.需要知识点 1.if循环 2.for循环,enumerate的用法 3.while循环 ...

  4. python 三级菜单 while循环三次,湖北省市-县-街道的选择,3个while的循环 -day2

    python编写一个三级while的循环菜单 1.定义字典,字典里面嵌套字典,内嵌字典的值为列表. 思路: 湖北省的市:字典中的定义3个字典,用于存储{序列-键:市名} shiqu_dir = {} ...

  5. Python 三级菜单 增强版

    需要实现的功能是:三级菜单1.从文本内读出选项2.查询每一级的选项,并能对选项进行增/删/改功能3.每一级可以退出程序或者返回上一层 2018-5-14 更新内容 思路 实现过程中的BUG及解决方案: ...

  6. Python 三级菜单与优化(一层循环嵌套)

    优化的思路是使用单层循环嵌套完成三级菜单,这个优化思路我非常喜欢,我喜欢在编程的时候用最少的东西写出同样的效果,通常这样会绕来绕去,但非常有趣!!! 需求: 1.运行程序输出第一级菜单: 2.选择一级 ...

  7. Python——三级菜单

    #三级菜单函数 menu = { '北京':{ 海淀:{ '五道口':{} '中关村':{} '上帝':{} } '昌平':{} '朝阳':{} '东城':{} }, '上海':{} '山东':{} ...

  8. 4th,Python三级菜单

    1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 data = { '北京': ...

  9. [terry笔记]python三级菜单

    把三级菜单输出,选择后逐层显示,”b“返回上一级菜单. menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村': ...

随机推荐

  1. Android IOS WebRTC 音视频开发总结(四二)-- webrtc开发者大会

    本文主要介绍11月要在北京举办的webrtc开发者全球大会,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help 其实两个月前就有圈内朋友跟我介绍这个大会 ...

  2. 魔兽塔防游戏android源码

    魔兽塔防是一款经典的游戏,当年在pc机器上玩过魔兽的人应该都玩过类似的游戏,他仿照魔兽,建塔拦截敌人入侵,发挥你的智慧让敌人走最远的路,将他们消灭在路上.... 源码下载:http://code.66 ...

  3. 【转】Linux Kernel __setup(str, fn)解析

    __setup这条宏在Linux Kernel中使用最多的地方就是定义处理Kernel的启动参数的函数及数据结构,宏定义如下: #define __setup(str, fn) \ __setup_p ...

  4. 第一部分 CLR基础:第3章 共享程序集和强命名程序集

    第一部分 CLR基础:第3章 共享程序集和强命名程序集

  5. HTML表单的问题

    1. 表单一定要放在<form>标签里面,就会有错误. 像<textarea>单独放的时候,单击的时候不会出现在开始位置,而是在任意单击的地方开始.  

  6. dedecms 根据key取得联动类型(enum)值

    ---恢复内容开始--- //$key:如城市的ID,$enum_file  data/enums中的文件 function get_enum_data($key, $enum_file)    {  ...

  7. mysql 修改字段长度

    mysql 修改字段长度 alter table news  modify column title varchar(130); alter table 表名 modify column 字段名 类型 ...

  8. IOS应用程序生命周期

    一.IOS应用的5种状态 Not Running(非运行状态) 应用没有运行或被系统终止. Inactive(前台非活动状态) 应用正在进入前台状态,但是还不能接受事件处理. Active(前台活动状 ...

  9. C#学习笔记(补充)——扩展方法、事件

    (搬运自我在SegmentFault的博客) 一.扩展方法 扩展方法使你能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 注意事项: 扩展方法 ...

  10. WPF:将HTML RGB颜色值转化为Color对象的两种方式

    (1)方式一: Color color1 = (Color)System.Windows.Media.ColorConverter.ConvertFromString("#E0E0E0&qu ...