Как сделать правильное название города в Python

Рейтинг: 0Ответов: 1Опубликовано: 19.08.2023

Здраствуйте! Я начинающий программист и пока делал новый проект столкнулся с такой задачей. Когда моему голосовому помощнику говоришь

Какая погода в Казани?

Он посылает на сайт с прогнозом погоды строку

Казани

Но сайт принимает название города. То есть "Казань". Я бы мог просто заменить в коде последнею букву на 'ь', но тогда если скажешь

Какая погода в Ижевске?

Станет ещё хуже. То есть он отправит строку "Ижевскь". Скажите пожалуйста, какую программу нужно написать на Python что бы преобразовывать "Казани" в "Казань", Ижевске в Ижевск, Москве в Москва и т.д.

Ответы

▲ 4Принят

Попробуйте в свой алгоритм добавить прослойку с использованием библиотеки pymorphy2 (необходима установка):

pip install pymorphy2

Согласно документации анализатор позволяет ставить слово в нужную форму. Например, ставить слово во множественное число, менять падеж слова и т.д.

При работе используется словарь OpenCorpora; для незнакомых слов строятся гипотезы. Библиотека достаточно быстрая.

Подробнее о падежах здесь.