Python字典实现简单的三级菜单(实例讲解)
问题
在 Python 中如何实现简单的三级菜单?
解决方案
使用 Python 的字典结构,可以轻易地实现简单的三级菜单。
字典是 Python 中用于存储键值对的一种数据结构,可以用于快速查找和读取数据。可以将字典看作是一个无序的键值对列表,其中每个键都是唯一的,并且对应的值可以是任何数据类型。
在三级菜单的实现中,需要使用嵌套字典的形式,其中每一层都是该字典的一个键。最内层为选项,最外层为菜单的名称。在用户选择一个选项的时候,可以通过递归调用实现菜单的循环。
下面是一个实现简单三级菜单的代码示例:
def menu():
# 三级菜单
menu = {
"菜单1": {
"菜单1.1": {"选项1.1.1": None, "选项1.1.2": None},
"菜单1.2": {"选项1.2.1": None, "选项1.2.2": None},
},
"菜单2": {
"菜单2.1": {"选项2.1.1": None, "选项2.1.2": None},
"菜单2.2": {"选项2.2.1": None, "选项2.2.2": None},
},
"菜单3": {
"菜单3.1": {"选项3.1.1": None, "选项3.1.2": None},
"菜单3.2": {"选项3.2.1": None, "选项3.2.2": None},
},
}
while True:
# 显示菜单
print("菜单:")
for key in menu:
print(key)
name = input("请选择菜单: ")
if name in menu:
while True:
# 显示菜单子选项
print("菜单 " + name + ":")
for key in menu[name]:
print(key)
option = input("请选择菜单选项: ")
if option in menu[name]:
while True:
# 显示菜单子选项的子选项
print("菜单 " + name + " - " + option + ":")
for key in menu[name][option]:
print(key)
choice = input("请选择一个选项或者输入b返回上级菜单: ")
if choice in menu[name][option]:
print("选择了 " + choice)
elif choice == "b":
break
else:
print("不合法的选项,请重新输入!")
elif option == "b":
break
else:
print("不合法的选项,请重新输入!")
else:
print("不合法的选项,请重新输入!")
该示例中,使用了三个 while 循环,分别对应每个菜单的层级。在第一个循环中,显示整个菜单列表,然后提示用户输入要查看的菜单名称。
如果用户输入的菜单名称正确,进入第一个子菜单,显示该菜单所有的选项。如果用户选择了某个选项,进入这个选项所对应的子菜单,显示该菜单的所有选项。然后再提示用户选择选项, 直到用户输入 "b" 退出当前菜单,或者选择了某个选项。
示例1
下面是一个简单的运行示例,演示了如何使用该函数实现简单的三级菜单:
menu()
选择菜单 "菜单1",选择选项 "菜单1.1",然后选择选项 "选项1.1.1":
菜单:
菜单1
菜单2
菜单3
请选择菜单: 菜单1
菜单 菜单1:
菜单1.1
菜单1.2
请选择菜单选项: 菜单1.1
菜单 菜单1 - 菜单1.1:
选项1.1.1
选项1.1.2
请选择一个选项或者输入b返回上级菜单: 选项1.1.1
选择了 选项1.1.1
示例2
下面是另一个简单的运行示例,演示了如何使用该函数实现简单的三级菜单:
menu()
选择菜单 "菜单2",选择选项 "菜单2.2",然后选择选项 "选项2.2.3":
菜单:
菜单1
菜单2
菜单3
请选择菜单: 菜单2
菜单 菜单2:
菜单2.1
菜单2.2
请选择菜单选项: 菜单2.2
菜单 菜单2 - 菜单2.2:
选项2.2.1
选项2.2.2
请选择一个选项或者输入b返回上级菜单: 选项2.2.3
不合法的选项,请重新输入!
总结
通过该示例,我们学习了使用 Python 字典实现简单的三级菜单的方法。在实现过程中,需要使用嵌套字典的形式,其中每一层都是该字典的一个键。使用 while 循环可以轻易地实现菜单的循环。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python字典实现简单的三级菜单(实例讲解) - Python技术站