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':{} }, '中关村': ...
随机推荐
- webGL 学习教程
====教程=================== webGL中文网:http://www.hewebgl.com/webGL API:https://developer.mozilla.org/en ...
- FTP操作
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Net ...
- Jquery获取selelct选中值
误区: 一直以为jquery获取select中option被选中的文本值,是这样写的: $("#s").text(); //获取所有option的文本值 实际上应该这样: $(& ...
- SE11
自省数据及表存储 2014年4月6日 21:37 类似JAVA反射的特性 SAP提供自省数据的机制 这样可以保证程序的灵活性和动态性 1.使用OO中的cl_abap_typed ...
- .NET中的计时器控件Timer
本章借介绍一些粗浅的Timer控件使用方法. 介绍Timer控件的常用属性和事件 1. Interval 属性表示 Timer控件的时间间隔. 类型是int默认是毫秒. 2. Enabled 属性 表 ...
- html5 canvas画板
点击查看演示地址 <!DOCTYPE HTML> <html> <title>HTML5-CanvasDrawDemo</title> <meta ...
- POJ C++程序设计 编程题#1 编程作业—运算符重载
编程题 #2 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 下面的MyIn ...
- LINUX下网站压力测试工具webbench
wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd we ...
- 网络流量监控工具iftop
#-------------------网络流量监控工具iftop---------------##! /bin/sh #1.首先安装依赖关系包yum install flex byacc libpc ...
- js 触发select onchange事件
select 或text的onchange事件需要手动(通过键盘输入)改变select或text的值才能触发,本文为大家介绍下使用js触发select onchange事件select 或text的o ...