Так что я пытаюсь использовать функцию любого() для поиска через введенный пользователем строки и посмотреть, если он содержит какие-либо элементы из списка:Ошибка при проверке, содержит ли строка элемент из списка в Python?
# takes the user input
i = raw_input(">>> ")
e = i.lower()
af.inp.append(e)
# greeting section
if any(x in e for x in af.x):
af.greeting()
Список:
x = ["hello", "hi", "hey"] # greetings
Так в основном У меня возникла проблема: если я ввожу какую-либо строку, содержащую любые символы, найденные в списке, она вернет функцию приветствия ...
Это проблема, когда я вижу «Shit», а не «Hi» он будет запускать функцию приветствия. Я думаю, что я могу использовать неправильную функцию для поиска конкретных целых слов или строк, найденных в введенном пользователем тексте, а не в части слова: например. «S'hi't», а не «Привет».
Кто-нибудь знает об этом или, если есть другой способ, я могу искать целые слова или строки?
p.s. Просто для того, чтобы уточнить, я понимаю, почему это происходит с использованием любой функции, которую мне просто интересно. Если есть какой-либо способ вокруг этого или другого метода все вместе.
Вы собираетесь должны объяснить, что 'af',' 'af.inp' и af.x' есть. –
«af» - это модуль, содержащий все списки, через которые я запускаю ... af.x - это список, содержащий все приветственные слова (я включил эту часть кода в исходный комментарий), а af.inp - список что я нажимаю на ввод пользователя, чтобы сохранить его. –
Ничего важного для вопроса. Зачем его включать? –