python编程:字典的典型应用:二级(多级)菜单,实现户籍省市的多层级选择
python编程:字典的典型应用:二级(多级)菜单,实现户籍省市的多层级选择
一、编程题目
现实生活中我们经常要用到二级菜单或者多级菜单,下面我们以一个信息系统中关于户籍省市的选择利用字典来实现一个二级菜单,要求以下面的内容来定义二级菜单:
广东省:广州市、珠海市、东莞市、惠州市、汕头市、湛江市、河源市、梅州市
湖南省:长沙市、株洲市、郴州市、湘潭市
湖北省:武汉市、鄂州市
四川省:成都市、都江堰市、乐山市
云南省:丽江市、大理市、西双版纳州
甘肃省:兰州市、天水市、武威市
陕西省:西安市、咸阳市、渭南市
实现该二级菜单的第一级省份的选择,选择省份后再根据该选择进行市的选择,最出你的选择结果。进入最后一层选择后,按住‘b’字符返回上一层,按‘q’字符程序。
以简单的三个省份选择为例,效果如下图所示:
广东省
湖南省
四川省
云南省
甘肃省
陕西省
请选择省份:>>广东省
广州市
珠海市
东莞市
惠州市
汕头市
湛江市
河源市
梅州市
请选择城市:>>广州市
你选择的城市是: 广东省 广州市
最后一层,按b返回>>:b
二、代码实现
1、定义数据字典,用于存储省市信息数据
infos = {'广东省':['广州市','珠海市','东莞市','惠州市','汕头市','湛江市','河源市','梅州市'],
'湖南省':['长沙市','株洲市','郴州市','湘潭市'],
'四川省':['成都市','都江堰市','乐山市'],
'云南省':['丽江市','大理市','西双版纳州'],
'甘肃省':['兰州市','天水市','武威市'],
'陕西省':['西安市','咸阳市','渭南市']
}
2、定义两个while循环,用于分别让用户选择省信息和市信息
running = True
while running:
for key in infos.keys():
print(key)
province = input('请选择省份:>>')
if province == 'q':
running = False
break
citys = []
for key,value in infos.items():
if province == key:
for v in infos[key]:
print(' ',v)
citys.append(v)
if not citys:
print('你选择的省份有误,请重新选择!')
continue
city_running = True
while city_running:
city = input('请选择城市:>>')
if city in citys:
print('你选择的城市是:',province,city)
else:
print('你选择的城市有误,请重新选择!')
continue
b = input('最后一层,按b返回>>:')
if b == 'b':
city_running = False
elif b == 'q':
city_running = False
running = False
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现