在Python中,要返回上级菜单,你可以使用递归函数来处理多级菜单。以下是一个简单的例子,展示了如何实现返回上一级菜单的功能:
def display_menu(menu_data, current_path=[]):
for key, value in menu_data.items():
new_path = current_path + [key]
if isinstance(value, dict):
print("当前路径:", " -> ".join(new_path))
display_menu(value, new_path)
else:
print("当前路径:", " -> ".join(new_path), " ->", value)
def return_to_parent_menu(menu_data, current_path):
if len(current_path) > 1:
current_path.pop() 移除当前菜单项
print("返回到了上一级菜单:", " -> ".join(current_path))
display_menu(menu_data, current_path)
else:
print("已经是顶级菜单,无法返回上一级。")
示例菜单数据
menu_data = {
'北京': {
'海淀': {
'五道口': {
'soho': {},
'网易': {},
'Google': {}
},
'中关村': {
'爱奇艺': {},
'汽车之家': {},
'youku': {}
},
'上地': {
'百度': {}
}
},
'昌平': {
'沙河': {
'老男孩': {},
'北航': {},
'天通苑': {},
'回龙观': {}
}
},
'朝阳': {},
'东城': {}
},
'上海': {
'闵行': {
'人民广场': {
'炸鸡店': {}
}
},
'闸北': {
'火车站': {
'携程': {}
}
},
'浦东': {}
},
'山东': {}
}
显示初始菜单
print("初始菜单:")
display_menu(menu_data)
用户选择返回上一级菜单
return_to_parent_menu(menu_data, [])
这个例子中,`display_menu`函数用于显示当前路径下的菜单项,`return_to_parent_menu`函数用于处理用户返回上一级菜单的请求。用户可以通过输入特定的命令(如"返回"或"退出")来返回上一级菜单。
请注意,这个例子是基于递归的,所以如果菜单结构很深,可能会遇到递归深度限制的问题。在实际应用中,你可能需要考虑使用迭代或其他方法来避免这个问题。