# Просклоняем ФИО по падежам
if len(stroka[34])>5: # если есть ФИО (а вдруг китаец Е И У?)
FIO=stroka[34].strip()
FIO=str.replace(FIO, ' ', ' ')
FIO=FIO.strip()
strName=FIO.split(' ')
familia=strName[0].strip()
imya=strName[1].strip()
if len(strName)==2:
otchestvo=''
stroka[3]=familia+' '+imya[0]+'.'
stroka[3]=stroka[3].strip() if len(strName)==3: # только еcли есть отчеcтво (эл-ты 0,1,2)
otchestvo=strName[2].strip()
stroka[3]=familia+' '+imya[0]+'. '+otchestvo[0]+'.' # Фамилия И.О.
stroka[3]=stroka[3].strip()
lOtchestvo=otchestvo[-1] # запомнили последнюю букву отчества
# Определяем, мужская ФИО или женская - по отчеству (заканчивается на ч)
fman=(otchestvo[-1]=='ч') # true - мужская фамилия
lFio=familia[-1] # запомнили последнюю букву фамилии
lImya=imya[-1] # запомнили последнюю букву фамилии
# Склонение фамилии в родительный падеж
if fman: # если true - мужская фамилия
# Склонение мужской фамилии
if lFio in ['о', 'о', 'и', 'я', 'a', 'а', 'е', 'е', 'ы']:
Rod=familia
elif lFio=='й':
Rod=familia[0:-2]+'ого'
elif lFio=='ь':
Rod=familia[0:-1]+'я'
elif familia[0:-2]=='ок': # напр "Сапожок"
Rod=familia
elif 1==1:
Rod=familia + 'а'
else: # значит ж
# Склонение женской фамилии
if lFio in ["о", "и", "б", "в", "г", "д", "ж", "з", "к", "л", "м", "н", "п", "р", "с", "т", "ф", "х", "ц", "ч", "ш", "щ", "ь"]:
Rod=familia
elif lFio=="я":
Rod=familia[0:-2]+'ой'
else:
Rod=familia[0:-1]+'ой'
# Склонение имени в родительный падеж
Rod=Rod+' '
if len(imya)>0:
if fman: # Склонение мужского имени
if lImya in ['й', 'ь']:
Rod = Rod + imya[0:-1]+'я'
elif lImya in ['и']:
Rod = Rod
elif 1==1:
Rod = Rod + imya+'а'
else: # Склонение женского имени (тут сложнее)
if lImya=='а':
if imya[-2] in ['и', 'г']:
Rod = Rod + imya[0:-1]+'и'
else:
Rod = Rod + imya[0:-1]+'ы'
elif lImya=="я":
if imya[-2]=='и':
Rod = Rod + imya[0:-1]+'и'
else:
Rod = Rod + imya[0:-1]+'и'
elif lImya=='ь':
Rod = Rod + imya[0:-1]+'и'
else:
Rod = Rod + imya
# Склонение отчества в родительный падеж
Rod = Rod + ' '
if len(otchestvo)>0:
if fman:
Rod = Rod + otchestvo + "а"
else:
Rod = Rod + otchestvo[0:-1]+"ы"
else:
Rod=FIO # если нет отчества - вообще не склоняем, не понять кто и что это
stroka[34]=Rod # просклоняли