А вот и поздравление с регулярками подоспело:
import re
def congratulate(name):
pattern = r'(?i)\b(женщин\w*|девушк\w*|леди|дам\w*)\b'
if re.search(pattern, name):
return f"С Международным женским днем, {name}!"
else:
return f"С Международным женским днем!"
Обратите внимание на шаблон:
- для поиска без учёта регистра используется
(?i);- чтобы слово было словом, а не частью большого слова, используем
\b до и после;- для учёта любого окончания применяем
\w* - любая буква ноль и более раз;- вертикальная черта
| работает как or. Достаточно одного из четырёх совпадений.Если запустить, получим ожидаемый результат с упоминанием женщин или просто с поздравлением:
>>> congratulate("Дорогие женщины"))
'С Международным женским днем, Дорогие женщины!'
>>> congratulate("Уважаемые господа"))
'С Международным женским днем!'
P.S. Данный шаблон не даёт 100% гарантии 😉
>>> congratulate("Жан-Клод Ван Дамм")