zoukankan      html  css  js  c++  java
  • 三级菜单_使用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)
  • 相关阅读:
    js对url进行编码和解码(三种方式区别)
    node.js之nodemon 代码热更新 修改代码后服务器自动重启
    深刻理解this的指向和var 定义的变量的问题
    js数组遍历some、foreach、map、filter、every、lastIndexOf、indexOf对比
    div左边固定宽度,右边自适应宽度
    div 自适应高度 自动填充剩余高度
    子组件通过 $emit 触发父组件的自定义事件
    js导出带格式的表格(包括单元格合并,字体样式等)
    vue在生产环境清除console.log
    js判断设备是都是pc端
  • 原文地址:https://www.cnblogs.com/godspeed034/p/7245586.html
Copyright © 2011-2022 走看看