Юзай pymorphy3 import pymorphy3 morph = pymorphy3.MorphAnalyzer() def decline_word(word, plural=False): parsed_word = morph.parse(word)[0] number = {'plur'} if plural else {'sing'} cases = { 'именительный': {'nomn'}, 'родительный': {'gent'}, 'дательный': {'datv'}, 'винительный': {'accs'}, 'творительный': {'ablt'}, 'предложный': {'loct'} } result = {} for case_name, case_value in cases.items(): params = case_value | number declined = parsed_word.inflect(params) result[case_name] = declined.word if declined else word return result word = "киана" print("Единственное число:") single = decline_word(word) for case, form in single.items(): print(f"{case}: {form}") print("\nМножественное число:") plural = decline_word(word, plural=True) for case, form in plural.items(): print(f"{case}: {form}") Python import pymorphy3 morph = pymorphy3.MorphAnalyzer() def decline_word(word, plural=False): parsed_word = morph.parse(word)[0] number = {'plur'} if plural else {'sing'} cases = { 'именительный': {'nomn'}, 'родительный': {'gent'}, 'дательный': {'datv'}, 'винительный': {'accs'}, 'творительный': {'ablt'}, 'предложный': {'loct'} } result = {} for case_name, case_value in cases.items(): params = case_value | number declined = parsed_word.inflect(params) result[case_name] = declined.word if declined else word return result word = "киана" print("Единственное число:") single = decline_word(word) for case, form in single.items(): print(f"{case}: {form}") print("\nМножественное число:") plural = decline_word(word, plural=True) for case, form in plural.items(): print(f"{case}: {form}")
для любого слова? создай два словаря (женские и остальные слова) ключ значение (ключ - окончание слова во множественной форме, значение - окончание слово в одиночной форме) после этого извлекай из словаря новое окончание слова скрипт могу за 200 руб написать по быстрому