Склонение слов в pymorphy2 не работает с переменной

slovo.inflect({padezh})

Выводит: ValueError: Unknown grammeme: None


Ответы (1 шт):

Автор решения: MaxU

Пример:

In [56]: from pymorphy2 import MorphAnalyzer

In [57]: morph = MorphAnalyzer()

In [58]: word = "слон"

In [59]: word_parsed = morph.parse(word)[0]

In [60]: word_parsed
Out[60]: Parse(word='слон', tag=OpencorporaTag('NOUN,anim,masc sing,nomn'), normal_form='слон', score=1.0, methods_stack=((<DictionaryAnalyzer>, 'слон', 52, 0),))

In [61]: case = "loct"

In [62]: word_parsed.inflect({case})
Out[62]: Parse(word='слоне', tag=OpencorporaTag('NOUN,anim,masc sing,loct'), normal_form='слон', score=1.0, methods_stack=((<DictionaryAnalyzer>, 'слоне', 52, 5),))

In [63]: case = "gent"

In [64]: word_parsed.inflect({case})
Out[64]: Parse(word='слона', tag=OpencorporaTag('NOUN,anim,masc sing,gent'), normal_form='слон', score=1.0, methods_stack=((<DictionaryAnalyzer>, 'слона', 52, 1),))
→ Ссылка