zoukankan      html  css  js  c++  java
  • 2_python之路之多级菜单

    python之路之多级菜单

     

    1.使用知识点

      (1)列表,字典的使用

      (2)if条件判断语句

      (3)for/while循环的使用

    2.代码详细

    #!/usr/bin/env python
    # _*_ coding: utf-8 _*_
    # author:chenjianwen
    # email:1071179133@qq.com
    # update_time:2017-10-16 13:03
    # blog_address:www.cnblogs.com/chenjw-note
    list_data = {
        '广东':{
            '广州市':['天河','越秀','白云'],
            '深圳市':['福田','南山','龙华'],
            '东莞市':['长安','虎门','大朗'],
            '茂名市':['信宜','高州','前排']
        },
        '广西':{
            '南宁市':['青秀区','兴宁区','江南区'],
            '桂林市':['象山区','七星区','临桂区'],
            '梧州市':['长洲区','龙圩区','万秀区'],
            '百色市':['右江区','靖西市','田阳县']
        },
        '湖北':{
            '武汉市':['江岸区','江汉区','硚口区'],
            '黄石市':['黄石港区','西塞山区','下陆区'],
            '十堰市':['茅箭区','张湾区','郧阳区'],
            '宜昌市':['枝江县','远安县','兴山县']
        }
    }
    first_level_data = []
    for one in list_data:
        first_level_data.append(one)
    #print(first_level_data)
    import sys
    def main(data):
        while True:
            print("本级菜单如下,请选择:")
            for one in data:
                print(one)
            select1 = input("请选择【q退出,b上一级】:").strip()
            if select1.startswith('q'):             ##输入q则退出
                sys.exit(0)
            elif select1.startswith('b'):           ##输入b则判断,当一级菜单的内容存在data中时,则说明目前是第一级,跳出循环继续下一次循环,否则返回上一级
                if first_level_data[0] in data:
                    continue
                else:
                    return
            if type(data) == dict:              ##通过判断data是否为字典格式来确定执行内容
                next_level = data.get(select1)
                if next_level:
                    main(next_level)
                else:
                    print("输入有误,请重新输入:")
            else:
                print("没有下一级了....,请重新选择...")
    
    
    main(list_data)

    3.执行结果

  • 相关阅读:
    HDU 1850 Being a Good Boy in Spring Festival
    UESTC 1080 空心矩阵
    HDU 2491 Priest John's Busiest Day
    UVALive 6181
    ZOJ 2674 Strange Limit
    UVA 12532 Interval Product
    UESTC 1237 质因子分解
    UESTC 1014 Shot
    xe5 android listbox的 TMetropolisUIListBoxItem
    xe5 android tts(Text To Speech)
  • 原文地址:https://www.cnblogs.com/chenjw-note/p/7674054.html
Copyright © 2011-2022 走看看