Python 如何测试用户输入的字符串是否在列表中?

Python 如何测试用户输入的字符串是否在列表中?,python,windows,python-2.7,list,Python,Windows,Python 2.7,List,我是Python新手,我正在尝试制作一个脚本,让用户选择打开类似Windows命令提示符的程序。由于Windows命令提示符也是用“cmd”打开的,我希望用户能够同时键入这两个命令并获得相同的结果 我知道我可以把它放在多个elif语句中,但我想知道我是否可以把这两个或更多的语句放在一个列表中,让python检查用户输入的内容是否在列表中,如果是,则打开程序或执行其他操作 下面是一些我已经编写了一段时间的测试代码,现在我完全被难住了: userInput = input(">") user

我是Python新手,我正在尝试制作一个脚本,让用户选择打开类似Windows命令提示符的程序。由于Windows命令提示符也是用“cmd”打开的,我希望用户能够同时键入这两个命令并获得相同的结果

我知道我可以把它放在多个elif语句中,但我想知道我是否可以把这两个或更多的语句放在一个列表中,让python检查用户输入的内容是否在列表中,如果是,则打开程序或执行其他操作

下面是一些我已经编写了一段时间的测试代码,现在我完全被难住了:

userInput = input(">")

userList = []
userList.append(userInput)

commandPrompt = ["cmd", "command prompt"]
testList = ["test1", "test2"]

if userList in commandPrompt:
    print("cmd worked")
elif userInput == testList:
    print("testList worked")
else:
    print("Did not work")

print(userList)

对不起,如果以前有人问过这个问题。我查遍了Google和Stack Overflow,找不到任何与我想做的事情完全相同的文章,也找不到解释这是否可能的文章。

假设我理解正确,您正在检查userList是否在commandPrompt中。但commandPrompt从不包含列表,因此永远无法满足此要求


如果commandPrompt:中的userInput感觉可能就是您所需要的。您不需要将用户的输入放入列表。

您可以将代码简化为:

userInput = input(">")

commandPrompt = ["cmd", "command prompt"]
testList = ["test1", "test2"]

if userInput in commandPrompt:
    print("cmd worked")
elif userInput in testList:
    print("testList worked")
else:
    print("Did not work")

这正是你想要的方式。实际上,您不需要用户列表做任何事情。

我无法清楚地理解您想要实现的目标,您介意添加一个带有输入及其相应输出的示例吗?使用输入函数与Windows命令提示符和cmd shell无关,因此您的问题现在没有什么意义。请把它写下来,并试着弄清楚你想做什么。谢谢你的回复,多伊!我知道我遗漏了那个特定区域的一个小细节,我就是不知道是什么。我的代码完全按照我所希望的那样工作。