假设我有一个选项列表:
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中实现这一目标?
答案 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循环。