如何让用户从有限列表中选择输入?
问题描述
是否可以在不使用If循环的情况下要求在Python中的多个选项之间进行选择?
示例:
print "Do you want to enter the door"
raw_input ("Yes or not")
并且用户只能在选项之间进行选择。
解决方案
如果您需要经常这样做,有一个方便的库可以帮助您轻松实现更好的用户体验:inquirer
免责声明:据我所知,如果没有一些黑客攻击,它将无法在Windows上运行。
您可以使用pip:
安装查询器pip install inquirer
示例1:多项选择
Inquirer的功能之一是允许用户使用键盘箭头键从列表中进行选择,而不需要他们写下答案。这样,您可以为您的控制台应用程序实现更好的用户体验。
以下是documentation中的一个示例:
import inquirer
questions = [
inquirer.List('size',
message="What size do you need?",
choices=['Jumbo', 'Large', 'Standard', 'Medium', 'Small', 'Micro'],
),
]
answers = inquirer.prompt(questions)
print answers["size"]
示例2:是/否问题:
对于像您这样的"是/否"问题,您甚至可以使用询问者的确认:
import inquirer
confirm = {
inquirer.Confirm('confirmed',
message="Do you want to enter the door ?" ,
default=True),
}
confirmation = inquirer.prompt(confirm)
print confirmation["confirmed"]
其他有用链接:
Inquirer's Github repo
相关文章