Как улучшить читаемость данного участка кода?

Как можно улучшить эту конструкцию, чтобы избежать повторения кода и следовать принципу DRY, если ожидается создание более 10 подобных функций проверки наличия слова в списке ключевых слов?
  • 9 апреля 2024 г. 13:39
Ответы на вопрос 2
Для улучшения читаемости и предотвращения повторения кода в данном участке можно воспользоваться функцией, которая будет проверять наличие слова в списке ключевых слов.

Пример:

```python
def check_keyword(keyword, keyword_list):
    if keyword in keyword_list:
        return True
    else:
        return False

# Пример использования функции
if check_keyword("apple", keyword_list):
    print("Keyword found")
else:
    print("Keyword not found")
```

Чтобы избежать создания более 10 подобных функций, можно создать словарь, где ключами будут являться названия ключевых слов, а значениями – сами списки ключевых слов.

Пример:

```python
keyword_lists = {
    "list1": ["apple", "banana", "orange"],
    "list2": ["dog", "cat", "bird"],
    # Добавить другие списки ключевых слов
}

def check_keyword(keyword, keyword_lists):
    for keyword_list in keyword_lists.values():
        if keyword in keyword_list:
            return True
    return False

# Пример использования функции
if check_keyword("apple", keyword_lists):
    print("Keyword found")
else:
    print("Keyword not found")
```

Это позволит избежать повторения кода и упростит добавление новых списков ключевых слов без необходимости создания отдельной функции для каждого из них.
def check_message(message, keywords):
    for word in keywords:
        if word in message.text.lower():
            return True
    return False

result_e = check_message(message, wordse)
result_g = check_message(message, wordsg)
Похожие вопросы