Python 实现一个三级列表 及字典的使用

要求:用户可以输入省市区的进入相应的下一级,输入b返回上一层,输入q退出程序。

知识点:

字典:字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下

d = {key1: value1, key2: value2} 键名是唯一的

keys() :Python 字典(Dictionary) keys() 函数以列表返回一个字典所有的键。keys()方法语法:dict.keys()

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Date  : 2018/7/5

# 做一个三级字典,为了方便输入我把中文换成了首字母
dic = {
    'bjs': {
        'dcq': ['东城区'],
        'xcq': ['西城区'],
        'zyq': ['朝阳区'],
    },
    'shs': {
        'jaq': ['静安区'],
        'ptq': ['普陀区'],
        'xhq': ['徐汇', '徐汇中', '徐汇下', '徐汇上'],
    },
    'sds': {
        'jns': ['历下区', '市中区', '天桥区', '历城区', '长清区', '济阳区'],
        'qds': ['市南区', '市北区', '黄岛区', '崂山区', '平度市', '胶州区'],
        'lys': ['兰山区', '罗庄区', '河东区', '兰陵县', '费县', '莒南县'],
    }
}

# 做一个无限循环
while True:
    one = input("你要查看列表吗?a查看,q退出程序,b返回上一级:")

    if one == 'a':

        while True:

            # 输出第一层的键名
            print(dic.keys())
            two = input("输入名称进入二级列表:")
            if two == 'b':
                break
            elif two == 'q':
                exit()
            else:

                while True:
                    # 输出第二层的键名
                    print(dic[two].keys())
                    three = input("输入名称进入三级列表:")
                    if three == 'b':
                        break
                    elif three == 'q':
                        exit()
                    else:

                        while True:
                            # 打印第三层的内容
                            print(dic[two][three])
                            val = input("b返回上级,q退出程序:")
                            if val == 'b':
                                break
                            elif val == 'q':
                                exit()

    elif one == 'q':
        exit()
    elif one == 'b':
        break
    else:
        print("输入的命令无效!")

想看效果自己复制试一下吧。

猜你喜欢

转载自blog.csdn.net/qq_24909089/article/details/80927740
今日推荐