@Ttpzy

Если любой из элементов массива слов имеется в строке — выдать true, как?

wda = [‘Да’, ‘да’, ‘интересно’, ‘Интересно’]
text = (что-то что мы ввели с клавиатуры)

If wda in text:
await message.answer(‘одно из слов есть в тексте’)

Суть чтобы если любое из слов Да да интересно Интересно при наличие в тексте приводило к выводу к ‘одно из слов есть в тексте’

Буду благодарен хабровчане
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
1. Проходишься по своему массиву и спрашиваешь присутствует ли твое слово в тексте который ввел пользователь.
2. В результате получаешь массив булевых значений True False
3. Если в массиве есть True, значит в тексте введенным пользователем есть слово из твоего массива слов.

Детали реализации: any и list comprehension
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
list = ['Да', 'да', 'интересно', 'Интересно']
input = input("Введите текст: ")

if any(w in input for w in list):
    print('Одно из слов есть в тексте')

или:
list = ['Да', 'да', 'интересно', 'Интересно']
input = input("Введите текст: ")

match input:
    case _ if any(w in input for w in list):
        print('Одно из слов есть в тексте')
    case _:
        print('Здесь нет таких')
Ответ написан
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
wda = [‘Да’, ‘да’, ‘интересно’, ‘Интересно’]
text = (что-то что мы ввели с клавиатуры)
for elem in wda:
    if elem in text:
        # если нашли - то дальше итерироваться и проверять нет необходимости
	return await message.answer(‘одно из слов есть в тексте’)

await message.answer(‘слов нет’)
Ответ написан
Комментировать
@neffruse
Все намного проще...

К тому же, что бы не дублировать по сто раз "Да" "да", можно задействовать метод lower.

Пример:
wda = ['да', 'интересно']
text = 'ДА посмотреть'

text_lower = text.lower()

def check_text():
    if any(word.lower() in text_lower for word in wda):
        return True
    else:
        return False


теперь если есть нужный текст и не важно какой регистр, он выдаст тебе True или False

Пример использования:
if check_text():
    print('В тексте есть нужное слово')
else:
    print('В тексте нет нужного словоа:('
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы