命令行:显示选项列表并让用户选择

时间:2016-01-21 15:16:58

标签: python

假设我有一个选项列表:

options = ["Option 1", "Option 2", "Option 3"]

我希望用户在命令行中选择一个选项,例如像这样的东西:

Please choose:
1) Option 1
2) Option 2
3) Option 3
Enter number: <user input>

所以我正在寻找以下内容的实现:

choice = let_user_pick(options) # returns integer

如何在python中实现这一目标?

1 个答案:

答案 0 :(得分:4)

def let_user_pick(options):
    print("Please choose:")
    for idx, element in enumerate(options):
        print("{}) {}".format(idx+1,element))
    i = input("Enter number: ")
    try:
        if 0 < int(i) <= len(options):
            return int(i)
    except:
        pass
    return None

您可能希望返回int(i)-1,以便将结果用作选项列表的索引,或直接返回选项。在用户输入正确的选择之前,最好不要在整个事物上返回None循环。