zoukankan      html  css  js  c++  java
  • 多级菜单(高效版)

    Readme文件:

    | -----------------------------|
    | 程序名称:三级菜单层级切换 |
    | -----------------------------|
    
    细节功能:
    1.用户输入当前层选项并回车后,进入下一层
    2.本程序总共三层
    3.每次按b可以返回上一层
    4.本程序特点是每循环一次后将值再赋于自己重新循环,从而实现简短代码实现多级菜单操作
    --------------------------------------------------------------------------------
    程序运行:
    1. 运行前需要menu.txt文件存在(即三级菜单文件,其存储格式为字典)
    2. 直接运行Third_menu程序即可
    --------------------------------------------------------------------------------
    
    #######################################
    作者:王承祥
    联系方式1:13552310609
    联系方式2:dslmoon@163.com
    我的博客:https://www.cnblogs.com/wangcx
    #######################################

    menu文件:

    {"广州": {'天河': ['天河体育馆', '金山大夏'],'越秀': ['越秀公园', '光孝寺'],'番禺': ['长隆欢乐世界', '大夫山']},"深圳": {'福田': ['莲花山', '赛格'],'龙华': ['元山公园', '龙城广场'],'南山': ['世界之窗', '欢乐谷']},"佛山": {'禅城': ['梁园', '孔庙'],'南海': ['千灯湖', '南国桃园'],'顺德': ['清晖园', '西山庙']}}

    Third_menu文件(主程序):

    # -*-coding:utf-8-*-
    # _Author_:George
    
    level = []
    with open("menu.txt","r",encoding="utf-8") as f:
        for line in f:
            line = eval(line)
    
            while True:
                for key in line:
                    print(key)
                choice = input("choice>>").strip()
                if choice == "b":
                    if len(level) == 0:
                        break
                    line=level[-1]
                    level.pop()
                if len(choice) == 0 or choice not in line:
                    continue
                level.append(line)
                line = line[choice]
  • 相关阅读:
    neutron外网介绍
    oracle时间转换问题汇总
    redhat72普通用户计划任务实现守护进程
    Rabbitmq消息持久化
    rabbitmq消息流转分析
    Rabbitmq基本概念
    protobuf传文件存入oracle
    X32指令自动委托
    IT系统上线事宜
    可转债业务玩法
  • 原文地址:https://www.cnblogs.com/wangcx/p/8094295.html
Copyright © 2011-2022 走看看