Sitisom

lang_porter

Sep 15th, 2020
701
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. vowel = ('а', 'е', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я')
  2.  
  3. perfective_gerund_1 = ('в', 'вши', 'вшись')
  4. perfective_gerund_2 = ('ив', 'ивши', 'ившись', 'ыв', 'ывши', 'ывшись')
  5. adjective = ('ее', 'ие', 'ые', 'ое', 'ими', 'ыми', 'ей', 'ий', 'ый', 'ой', 'ем', 'им', 'ым', 'ом', 'его', 'ого', 'ему',
  6.              'ому', 'их', 'ых', 'ую', 'юю', 'ая', 'яя', 'ою', 'ею')
  7. participle_1 = ('ем', 'нн', 'вш', 'ющ', 'щ')
  8. participle_2 = ('ивш', 'ывш', 'ующ')
  9. reflexive = ('ся', 'сь')
  10. verb_1 = ('ла', 'на', 'ете', 'йте', 'ли', 'й', 'л', 'ем', 'н', 'ло', 'но', 'ет', 'ют', 'ны', 'ть', 'ешь', 'нно')
  11. verb_2 = ('ила', 'ыла', 'ена', 'ейте', 'уйте', 'ите', 'или', 'ыли', 'ей', 'уй', 'ил', 'ыл', 'им', 'ым', 'ен', 'ило',
  12.           'ыло', 'ено', 'ят', 'ует', 'уют', 'ит', 'ыт', 'ены', 'ить', 'ыть', 'ишь', 'ую', 'ю')
  13. noun = ('а', 'ев', 'ов', 'ие', 'ье', 'е', 'иями', 'ями', 'ами', 'еи', 'ии', 'и', 'ией', 'ей', 'ой', 'ий', 'й', 'иям',
  14.         'ям', 'ием', 'ем', 'ам', 'ом', 'о', 'у', 'ах', 'иях', 'ях', 'ы', 'ь', 'ию', 'ью', 'ю', 'ия', 'ья', 'я')
  15. superlative = ('ейш', 'ейше')
  16. derivational = ('ост', 'ость')
  17.  
  18.  
  19. def position_of_first_vowel(word):
  20.     for index, char in enumerate(word):
  21.         if char in vowel:
  22.             return index
  23.     return None
  24.  
  25.  
  26. def position_of_first_gl_sgl(word):
  27.     for index, ch in enumerate(word):
  28.         if ch in vowel and word[index + 1] not in vowel:
  29.             r1 = word[index + 2:]
  30.             break
  31.     return r1
  32.  
  33.  
  34. def stemming(word: str):
  35.     rv = word[position_of_first_vowel(word) + 1:]
  36.     if rv[0] not in vowel:
  37.         r1 = word[1:]
  38.     else:
  39.         r1 = position_of_first_gl_sgl(word)
  40.     print(rv)
  41.  
  42.  
  43. if __name__ == '__main__':
  44.     stemming('слово')
  45.  
  46.  
RAW Paste Data