使用while循环生成多级菜单,通过对菜单选项的选择,进入到子菜单。同时实现系统退出的判断及操作。
时间: 2023-05-19 15:04:20 浏览: 42
以下是使用 Python 语言实现的示例代码:
```
menu = {
'1': {
'name': '菜单1',
'options': {
'1': '选项1-1',
'2': '选项1-2',
'3': '选项1-3'
}
},
'2': {
'name': '菜单2',
'options': {
'1': '选项2-1',
'2': '选项2-2',
'3': '选项2-3'
}
},
'3': {
'name': '菜单3',
'options': {
'1': '选项3-1',
'2': '选项3-2',
'3': '选项3-3'
}
}
}
def print_menu(menu):
for key, value in menu.items():
print(key + '. ' + value['name'])
def print_options(options):
for key, value in options.items():
print(key + '. ' + value)
def select_option(options):
while True:
choice = input('请选择:')
if choice in options:
return choice
else:
print('输入有误,请重新选择。')
def main():
current_menu = menu
while True:
print_menu(current_menu)
choice = select_option(current_menu)
if choice == 'q':
break
elif choice in current_menu:
current_menu = current_menu[choice]['options']
else:
print('输入有误,请重新选择。')
if __name__ == '__main__':
main()
```
运行该程序后,会显示一级菜单,用户可以选择进入子菜单或退出系统。如果用户选择进入子菜单,则会显示该子菜单的选项,用户可以选择其中一项,然后再次进入下一级菜单或退出系统。如果用户输入的选项不正确,则会提示重新选择。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)