编程实现“选择省地市”功能程序 需求: 可依次选择进入各子菜单; 可从任意一层,回退到上一层; 可从任意一层,退出程序。
时间: 2024-11-03 19:19:21 浏览: 13
为了满足这样的需求,我们可以使用递归函数结合条件分支来实现。下面是一个使用Python的简单示例:
```python
def province_menu(provinces, current="中国"):
print(f"\n您当前在:{current}")
for province in provinces:
print(f"{province}:")
next_level = provinces[province]
if isinstance(next_level, dict): # 如果是字典,说明还有子菜单
choice = input(f"请选择({province})的一个城市:").strip()
if choice.lower() == "back": # 回退
return province_menu(provinces, current=province[:-1])
elif choice.lower() == "exit": # 退出
return
else:
return province_menu(next_level, current=choice) # 继续选择城市
else: # 没有子菜单,直接列出城市选项
print(" - ".join(next_level))
if input("选择后请输入 'next' 继续,'back' 返回,'exit' 退出:") != "exit":
continue # 非退出操作继续下一级
# 初始化数据
zones_data = {
"中国": {
"山东": {
"青岛": ["四方", "黄岛", ...],
...
},
...
},
...
}
province_menu(zones_data)
```
这个函数首先定义了一个顶级菜单`province_menu`,它接受一个包含省份信息的数据结构`zones_data`作为输入。在菜单中,我们检查每个省份是否还有子菜单,如果有,就递归调用自身,让用户选择下一个层级;如果没有,则直接列出城市选项。用户可以选择"back"返回上级,"exit"退出程序。
通过这个函数,用户可以在各级别之间自由导航,满足了所有的需求。
阅读全文