要求:用户可以输入省市区的进入相应的下一级,输入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("输入的命令无效!")
想看效果自己复制试一下吧。