• 三级菜单_使用os模块


    #!/usr/bin/env python
    # -*- coding:utf-8 -*-  
    # by wk
    
    import os
    
    def list_cities(city_list):
        while True:
            t = []
            for k, v in enumerate(city_list):
                print(k, v['city'])
                t.append(str(k))       #判断列表有多少值
            # print(t)
            city_id = input('请选择城市:')
            if city_id in t:
                return city_id
            else:
                print('请重新输入')
    
    def list_district(city_id):
        while True:
            t = []
            for k, v in enumerate(city_list[city_id]['district']):
                print(k, v['dist'])
                t.append(str(k))         #判断列表有多少值
            district_id = input('请选择区域(b返回上一层):')
            if district_id in t:
                return district_id
            elif district_id == 'b':
                return 'back'
            else:
                print('请重新输入')
    
    def list_area(city_id,district_id):
        while True:
            t = []
            for k, v in enumerate(city_list[city_id]['district'][district_id]['area']):
                print(k, v)
                t.append(str(k))        #判断列表有多少值
            area_id = input('请选择地点(b返回上一层):')
            if area_id in t:
                return area_id
            elif area_id == 'b':
                return 'back'
            else:
                print('请重新输入')
    
    def my_choose(city_id,district_id,area_id):
        return city_list[city_id]['district'][district_id]['area'][area_id]
    
    if __name__ == "__main__":
        city_list = [
            {'city': '北京', 'district':
                [{'dist':'海淀','area':['海1', '海2', '海3']},
                 {'dist': '东城', 'area': ['东1', '东2', '东3']},
                 {'dist':'西城','area':['西1', '西2', '西3']},
                 {'dist': '朝阳', 'area': ['朝1', '朝2', '朝3']}]
             },
            {'city': '上海', 'district':
                [{'dist': '黄浦', 'area': ['黄1', '黄2', '黄3']},
                 {'dist': '徐汇', 'area': ['徐1', '徐2', '徐3']},
                 {'dist': '长宁', 'area': ['长1', '长2', '长3']},
                 {'dist': '天河', 'area': ['天1', '天2', '天3']}]
             },
            {'city': '广州', 'district':
                [{'dist': '荔湾', 'area': ['荔1', '荔2', '荔3']},
                 {'dist': '越秀', 'area': ['越1', '越2', '越3']},
                 {'dist': '海珠', 'area': ['海1', '海2', '海3']},
                 {'dist': '天河', 'area': ['天1', '天2', '天3']}]
             },
        ]              #创建一张城市列表
        while True:
            city_id = list_cities(city_list)      #列出城市
            while True:
                district_id = list_district(int(city_id))       #列出选中城市下的区
                if district_id == 'back':
                    break               #返回上一层循环
                else:
                    while True:
                        area_id = list_area(int(city_id),int(district_id))
                        if area_id == 'back':
                            break       #返回上一层循环
                        else:
                            end_choose = my_choose(int(city_id), int(district_id), int(area_id))
                            print('最终选择:',end_choose)
                            os._exit(1)
  • 相关阅读:
    5步教你完成小熊派开发板贴片
    了解JS压缩图片,这一篇就够了
    【华为云推官招募】加入云推官,月入8万的兼职不是梦
    JavaScript中的正则表达式详解
    一瓶可乐的自动售货机指令“旅程”
    年近而立,Java何去何从?
    数据平台、大数据平台、数据中台……你确定能分得清吗?
    微软看上的Rust 语言,安全性真的很可靠吗
    云图说丨手把手教你为容器应用配置弹性伸缩策略
    Spark优化之小文件是否需要合并?
  • 原文地址:https://www.cnblogs.com/godspeed034/p/7245586.html
Copyright © 2020-2023  润新知