Содержимое списка Python принимается при вводе пользователем if - PullRequest
0 голосов
/ 06 марта 2019

Я новичок в 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 и не смог найти ни одной статьи, похожей на то, что я хотел сделать, или объяснить, если это возможно или невозможно.

Ответы [ 2 ]

1 голос
/ 06 марта 2019

Если я правильно понял, вы проверяете, есть ли userList в commandPrompt. Но commandPrompt никогда не содержит списка, поэтому он никогда не будет удовлетворен.

if userInput in commandPrompt: кажется, что это может быть то, что вам нужно. Вам не нужно помещать ввод пользователя в список.

0 голосов
/ 06 марта 2019

Вы можете уменьшить свой код до этого:

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")

Это будет работать так, как вы хотите. Вам на самом деле не нужно userList для чего-либо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...