python实现通用多级菜单功能(控制台菜单)
时间: 2023-08-07 13:06:47 浏览: 252
可以使用字典实现多级菜单功能,以下是一个示例代码:
```python
# 定义多级菜单字典
menu = {
'1': {
'name': '菜单1',
'children': {
'1-1': {
'name': '子菜单1-1',
'action': lambda: print('执行子菜单1-1的操作')
},
'1-2': {
'name': '子菜单1-2',
'action': lambda: print('执行子菜单1-2的操作')
}
}
},
'2': {
'name': '菜单2',
'children': {
'2-1': {
'name': '子菜单2-1',
'action': lambda: print('执行子菜单2-1的操作')
},
'2-2': {
'name': '子菜单2-2',
'children': {
'2-2-1': {
'name': '子菜单2-2-1',
'action': lambda: print('执行子菜单2-2-1的操作')
}
}
}
}
},
'3': {
'name': '退出'
}
}
# 定义打印菜单函数
def print_menu(menu_dict):
for key, value in menu_dict.items():
print(f"{key}. {value['name']}")
print()
# 定义执行菜单函数
def run_menu(menu_dict):
while True:
print_menu(menu_dict)
choice = input("请输入您的选择:")
if choice in menu_dict:
if 'action' in menu_dict[choice]:
menu_dict[choice]['action']()
break
else:
run_menu(menu_dict[choice]['children'])
elif choice == '3':
break
else:
print("非法输入,请重新输入!")
# 执行菜单函数
run_menu(menu)
```
这个代码实现了一个多级菜单,使用字典构建菜单结构,通过递归调用实现多级菜单功能。用户可以通过输入数字选择菜单项,程序会根据用户的选择执行相应的操作,如果选择的是一个有子菜单的菜单项,则会继续进入子菜单。如果选择的是退出菜单,则程序会退出。
阅读全文