写一个三级菜单程序,要求1.打印省,市,县,三级菜单2.只能用一个字典来存取地区名称3.可返回上一级4.可随时退出程序
时间: 2023-04-01 07:01:09 浏览: 70
好的,我可以回答这个问题。以下是一个三级菜单程序的示例:
```
areas = {
'北京市': {
'东城区': {},
'西城区': {},
'朝阳区': {},
'海淀区': {},
'丰台区': {},
'石景山区': {},
'门头沟区': {},
'房山区': {},
'通州区': {},
'顺义区': {},
'昌平区': {},
'大兴区': {},
'怀柔区': {},
'平谷区': {},
'密云区': {},
'延庆区': {},
},
'上海市': {
'黄浦区': {},
'徐汇区': {},
'长宁区': {},
'静安区': {},
'普陀区': {},
'虹口区': {},
'杨浦区': {},
'闵行区': {},
'宝山区': {},
'嘉定区': {},
'浦东新区': {},
'金山区': {},
'松江区': {},
'青浦区': {},
'奉贤区': {},
'崇明区': {},
},
'广东省': {
'广州市': {
'荔湾区': {},
'越秀区': {},
'海珠区': {},
'天河区': {},
'白云区': {},
'黄埔区': {},
'番禺区': {},
'花都区': {},
'南沙区': {},
'增城区': {},
'从化区': {},
},
'深圳市': {
'罗湖区': {},
'福田区': {},
'南山区': {},
'宝安区': {},
'龙岗区': {},
'盐田区': {},
},
'珠海市': {
'香洲区': {},
'斗门区': {},
'金湾区': {},
},
'汕头市': {
'龙湖区': {},
'金平区': {},
'濠江区': {},
'潮阳区': {},
'潮南区': {},
'澄海区': {},
'南澳县': {},
},
'韶关市': {
'武江区': {},
'浈江区': {},
'曲江区': {},
'始兴县': {},
'仁化县': {},
'翁源县': {},
'乳源瑶族自治县': {},
'新丰县': {},
'乐昌市': {},
'南雄市': {},
},
},
}
current_level = areas
parent_level = []
while True:
# 打印当前级别的所有选项
options = current_level.keys()
print('-' * 20)
for option in options:
print(option)
print('-' * 20)
# 获取用户输入的选项
choice = input("请输入选项:")
# 处理用户输入的选项
if choice in current_level:
# 进入下一级菜单
parent_level.append(current_level)
current_level = current_level[choice]
elif choice == 'b':
# 返回上一级菜单
if parent_level:
current_level = parent_level.pop()
elif choice == 'q':
# 退出程序
break
else:
print("无效选项,请重新输入。")
print("程序已退出。")
```
这个程序使用一个字典来存储地区名称,每个地区名称对应一个子字典,表示下一级菜单。程序使用一个循环来不断打印当前级别的所有选项,并等待用户输入选项。如果用户输入的选项是当前级别的一个地区名称,程序就进入下一级菜单;如果用户输入的选项是'b',程序就返回上一级菜单;如果用户输入的选项是'q',程序就退出。