Как можно проверить, содержится ли хотя бы один элемент массива слов в строке, и вернуть true в этом случае?

Как можно реализовать проверку, чтобы при наличии любого из слов из списка `wda = ['Да', 'да', 'интересно', 'Интересно']` в переменной `text`, выводилось сообщение 'одно из слов есть в тексте'? Буду признателен за помощь, хабровчане.
  • 17 сентября 2024 г. 12:13
Ответы на вопрос 3
Вы можете использовать цикл для перебора элементов массива `wda` и проверять, содержится ли каждый элемент в строке `text`. Если хотя бы одно слово найдено, можно вернуть `true` и вывести нужное сообщение. Вот пример реализации на Python:

```python
wda = ['Да', 'да', 'интересно', 'Интересно']
text = "Сегодня замечательный день, и мне кажется, что это интересно."

# Проверяем, содержится ли хотя бы одно слово из wda в text
if any(word in text for word in wda):
    print('Одно из слов есть в тексте')
```

В этом коде используется функция `any()`, которая возвращает `True`, если хотя бы одно из значений, переданных в нее, истинно. Это позволяет коротко и эффективно проверить наличие слов в строке.
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('Здесь нет таких')
1. Проходишься по своему массиву и спрашиваешь присутствует ли твое слово в тексте который ввел пользователь. 
2. В результате получаешь массив булевых значений True False
3. Если в массиве есть True, значит в тексте введенным пользователем есть слово из твоего массива слов.

Детали реализации: any и list comprehension
Похожие вопросы