zoukankan      html  css  js  c++  java
  • 三级菜单

    1. 需要实现的功能

     

    • 可依次选择进入各子菜单
    • 可从任意一层往回退到上一层
    • 可从任意一层退出程序

    2. 程序流程简图:

    3. 程序源码

    # -*- coding: utf-8 -*-
    
    menu = {
        '武汉':{
            '武昌':{
                '光谷':{
                    '华为':{},
                    '小米':{},
                    '华中科技大学':{}
                },
                '洪山':{
                    '华中农业大学':{},
                    '中南民族大学':{},
                    '中南财经政法大学':{},
                },
                '街道口':{
                    '武汉大学':{},
                },
            },
            '汉口':{
                '常青花园':{
                    '武汉轻工大学':{},
                    '张公堤':{},
                },
                '江汉路':{},
                '青年路':{},
            },
            '汉阳':{},
            '黄陂':{},
        },
        '上海':{
            '闵行':{
                "人民广场":{
                    '炸鸡店':{}
                }
            },
            '闸北':{
                '火车战':{
                    '携程':{}
                }
            },
            '浦东':{},
        },
        '山东':{},
    }
    
    current_level = menu
    level = []
    while True:
        for key in  current_level:
            print(key)
        choice = input("请输入您希望进入的次级区域,返回上级菜单请输入'b',退出程序请输入'q':")
        if choice in current_level:#开始进入下一级菜单
            level.append(current_level)
            current_level = current_level[choice]
        elif choice == 'b':#返回上级菜单
            if len(level) == 0:
                break
            else:
                current_level = level.pop()
        else:#输入‘q’或者其他错误选项将直接退出程序
            break
  • 相关阅读:
    js将时间戳转化为时间,(不省略0)
    SpringMVC路径传参
    贪心算法及实例
    剪绳子(贪心算法)
    c语言输入一行未知个数数字存入数组
    Netlink机制详解
    new和malloc的区别
    堆 和 栈的 区别
    strlen与sizeof区别(转载)
    任务
  • 原文地址:https://www.cnblogs.com/quegai18/p/9366110.html
Copyright © 2011-2022 走看看