Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Paxerio
-15 / 0 / 0
Регистрация: 14.03.2019
Сообщений: 22
1

Склонение

17.03.2019, 21:10. Просмотров 1028. Ответов 1
Метки нет (Все метки)

Напишите программу, которая принимает на вход слово и, если оно существительное, изменяет его по падежам и числам.
Иначе – выводит сообщение «Не существительное».

Формат ввода
Одно слово.

Формат вывода
Строки в формате:

Единственное число:
Именительный падеж: <слово>
Родительный падеж: <слово>
...
Предложный падеж: <слово>
Множественное число:
Именительный падеж: <слово>
Родительный падеж: <слово>
...
Предложный падеж: <слово>
Или фраза «Не существительное», если введённое слово не является существительным.

Пример 1
Ввод Вывод
Питон
Единственное число:
Именительный падеж: питон
Родительный падеж: питона
Дательный падеж: питону
Винительный падеж: питона
Творительный падеж: питоном
Предложный падеж: питоне
Множественное число:
Именительный падеж: питоны
Родительный падеж: питонов
Дательный падеж: питонам
Винительный падеж: питонов
Творительный падеж: питонами
Предложный падеж: питонах

Есть такой код , но я не совсем понял тему и там есть ошибки помогите пожалуйста исправить!))

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import pymorphy2
morph = pymorphy2.MorphAnalyzer()
 
a = input()
if 'NOUN' in a.tag.POS:
word = morph.parse(a)[0]
print('Единственное число:')
print('Именительный падеж:', word.inflect({'nomn'}).word)
print('Родительный падеж:', word.inflect({'gent'}).word)
print('Дательный падеж:', word.inflect({'datv'}).word)
print('Винительный падеж:', word.inflect({'accs'}).word)
print('Творительный падеж:', word.inflect({'ablt'}).word)
print('Предложный падеж:', word.inflect({'loct'}).word)
print('Множественное число:')
print('Именительный падеж:', word.inflect({'nomn', 'plur'}).word)
print('Родительный падеж:', word.inflect({'gent', 'plur'}).word)
print('Дательный падеж:', word.inflect({'datv', 'plur'}).word)
print('Винительный падеж:', word.inflect({'accs', 'plur'}).word)
print('Творительный падеж:', word.inflect({'ablt', 'plur'}).word)
print('Предложный падеж:', word.inflect({'loct', 'plur'}).word)
else:
print('Не существительное')
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2019, 21:10
Ответы с готовыми решениями:

Склонение слова "год" в соответствие числу
Напишите процедуру, которая принимает числовой параметр – возраст человека в годах, и выводит этот...

склонение Ф.И.О
помогите пожалуйста, нужен код склонения Ф.И.О, у меня скоро дипломка, препод ваще ниче не знает, и...

Склонение
есть код который переводит имя и фамилию в дательный падеж &lt;h1&gt;&lt;? require ('NCLNameCaseRu.php'); ...

Склонение
1С 8.2 Документооборот Корп 1.3 Можно ли не меняя типовую просклонять (фио, должности). ...

Склонение Фамилий
Еще раз всем привет. Возникла еще одна проблема. Знаю есть много макросов, функций по изменению...

1
droider
Universal
Эксперт Pascal/Delphi
4442 / 2475 / 780
Регистрация: 04.10.2012
Сообщений: 9,013
18.03.2019, 09:40 2
Лучший ответ Сообщение было отмечено Paxerio как решение

Решение

Paxerio,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import pymorphy2
 
morph = pymorphy2.MorphAnalyzer()
a = input()
word = morph.parse(a)[0]
if 'NOUN' in word.tag.POS:
    print('Единственное число:')
    print('Именительный падеж:', word.inflect({'nomn'}).word)
    print('Родительный падеж:', word.inflect({'gent'}).word)
    print('Дательный падеж:', word.inflect({'datv'}).word)
    print('Винительный падеж:', word.inflect({'accs'}).word)
    print('Творительный падеж:', word.inflect({'ablt'}).word)
    print('Предложный падеж:', word.inflect({'loct'}).word)
    print('Множественное число:')
    print('Именительный падеж:', word.inflect({'nomn', 'plur'}).word)
    print('Родительный падеж:', word.inflect({'gent', 'plur'}).word)
    print('Дательный падеж:', word.inflect({'datv', 'plur'}).word)
    print('Винительный падеж:', word.inflect({'accs', 'plur'}).word)
    print('Творительный падеж:', word.inflect({'ablt', 'plur'}).word)
    print('Предложный падеж:', word.inflect({'loct', 'plur'}).word)
else:
    print('Не существительное')
и не забываем сначала поставить pymorphy2
pip install pymorphy2
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2019, 09:40

Склонение ФИО
Граждане форумчане, подскажите плз, где ошибка? при склонении двойной фамилии (через тире)...

склонение фамилии
помогите пожалуйста.. нужно к примеру в Edit1 вводится фамилия (например Ряховский) т.е. если...

Склонение Фамилии
Доброго времени суток! Предполагаю вопрос был ни раз разжеван, но поиск не дает результатов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru