1. #-*- coding:utf-8 -*-
    #Author:gxli
  2.  
  3. #一级菜单项
    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('您的输入有误,请重新输入!')
  4.  
  5. #二级菜单项
    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('您的输入有误,请重新输入!')
  6.  
  7. #三级菜单项
    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('您的输入有误,请重新输入!')
  8.  
  9. if __name__ == '__main__':
    # 设置菜单
    dic = {
    "动物": {
    "狗": ["大狗", "小狗"],
    "猫": ["大猫", "小猫"]
    },
    "植物": {
    "树": ["大树", "小树"],
    "花": ["大花", "小花"]
    }
    }
    dic_key = {}
  10.  
  11. 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. IE样式兼容写法

    1.第一种写法 利用<!--[if lt IE 6/7/8/9/10/11]><![endif]-->,给每个html写一个class <!DOCTYPE html> ...

  2. Git 从服务器取得最新代码覆盖本地

    第一种方法 git fetch --all git reset --hard origin/master git fetch下载远程最新的, 然后,git reset master分支重置 第二种方法 ...

  3. nice和taskset命令

    taskset -c 9,10 bash domain_analysis.sh && /home/work/odp/php/bin/php hourly_localdns_hijack ...

  4. 通过string型类名实例化一个类

    DataTable dt = new DBHelper().getIndexInfo(code_id); DataRow row = dt.Rows[0]; string dllName = row[ ...

  5. 基于s5pv210嵌入式linux系统sqlite3数据库移植

    基于s5pv210嵌入式linux系统sqlite3数据库移植 1.下载源码 http://www.sqlite.org/download.html 最新源码为3080100 2.解压 tar xvf ...

  6. [原]hdu2602 Bone Collector (01背包)

    本文出自:http://blog.csdn.net/svitter 题意:典型到不能再典型的01背包.给了我一遍AC的快感. //=================================== ...

  7. 字符串匹配KMP算法

    1. 字符串匹配的KMP算法 2. KMP算法详解 3. 从头到尾彻底理解KMP

  8. [转发]导出Excel 格式 mso-number-format

    应用中经常会遇到要从系统或数据库中导出数据平面文件,一般是导出到txt,csv或excel.txt和csv一般用在系统间的数据交换,而 excel一般有较好的显示效果,可以按照一定的模板导出,导出就不 ...

  9. php小算法总结一(数组重排,进制转换)

    1.两个有序数组组合成一个新的有序数组 <?php $arr1=array(2,5,7,9,12); $arr2=array(3,4,6,8,10,11); function merge_sor ...

  10. 把Java对象转为xml格式

    主要使用到的Java类有:javax.xml.bind.JAXBContext,javax.xml.bind.Marshaller(编排) 代码主要展示如下: public class Student ...