def print_menu(options):
"""
打印一个格式化的菜单,并返回用户选择的选项。
:param options: 一个字典,键为菜单项的描述,值为对应的选项值。
:return: 用户选择的选项值。
"""
print("----- 菜单 -----")
for index, (description, value) in enumerate(options.items(), start=1):
print(f"{index}. {description}")
print("-----------------")
choice = input("请选择一个选项(输入数字):")
# 检查用户输入是否有效
while not choice.isdigit() or not 1 <= int(choice) <= len(options):
print("无效的输入,请输入一个有效的数字。")
choice = input("请选择一个选项(输入数字):")
return int(choice)
# 使用示例
menu_options = {
1: "查看账户信息",
2: "存款",
3: "取款",
4: "转账",
5: "退出"
}
# 调用函数并获取用户选择
user_choice = print_menu(menu_options)
print(f"您选择了:{menu_options[user_choice]}")
在这个例子中,我们创建了一个名为 print_menu 的函数,它接受一个字典 options 作为参数。这个字典的键是菜单项的描述,值是对应的选项值。
函数首先打印一个标题,然后遍历字典中的每个项,打印出格式化的菜单项。接着,它通过 input 函数提示用户输入一个选项。
为了确保用户输入的是有效的数字,我们使用了一个循环,检查用户输入是否为数字,并且这个数字是否在有效的范围内(即菜单项的数量之间)。如果输入无效,它会提示用户重新输入。
最后,函数返回用户选择的选项值。
在示例中,我们定义了一个名为 menu_options 的字典,其中包含了几个常见的银行操作选项。然后,我们调用 print_menu 函数,并打印出用户选择的操作。
这个函数非常实用,可以用于任何需要用户从一系列选项中进行选择的应用场景。
