Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/140: Рейтинг темы: голосов - 140, средняя оценка - 4.73
-5 / 10 / 0
Регистрация: 14.03.2019
Сообщений: 52

Одушевленость

19.03.2019, 21:16. Показов 30011. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу, которая принимает из стандартного потока заранее неизвестное количество строк, в каждой из которых записано одно слово.
Для каждого слова выведите (в том порядке, в котором слова идут в стандартном потоке ввода) фразу «Живое» или «Не живое» в зависимости от того, является ли существительное одушевлённым по мнению библиотеки pymorphy2. Фраза должна быть согласована по роду и числу с анализируемым словом.

Если анализируемое слово не является существительным, выведите фразу «Не существительное».

Формат ввода
Слова в стандартном потоке ввода, по одному на каждой строке.

Формат вывода
Результаты анализа каждого слова. Каждый результат с новой строки.

Пример 1
Ввод Вывод
Кот
Кошка
Стол
Окно
Пила
Люди
Столы
Пилить
Живой
Живая
Не живой
Не живое
Не живая
Живые
Не живые
Не существительное

Как проверять типо if word in ... ? А дальше как помогите с написание кода

Python
1
2
3
4
5
6
7
8
9
import pymorphy2
import sys
 
morph = pymorphy2.MorphAnalyzer()
a = input()
word = a
if 'NOUN' in word.tag.POS:
    for line in sys.stdin:
        if word in
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
24.03.2019, 15:42
Студворк — интернет-сервис помощи студентам
Paxerio, о чём можно говорить, если Вы даже не понимаете, как данные вводить. Человек не поленился, прочитал доку, предоставил Вам безвозмездно готовое, верное решение, к которому Вы сами очень долго бы шли.
У Вас же чёрным по белому написано.
Цитата Сообщение от Paxerio Посмотреть сообщение
Напишите программу, которая принимает из стандартного потока заранее неизвестное количество строк
Наверное, всё же через input, я думаю.
0
-5 / 10 / 0
Регистрация: 14.03.2019
Сообщений: 52
27.03.2019, 17:42  [ТС]
m0nte-cr1st0, я понимаю я о многом прошу , но помогите пожалуйста советом или кодом с вводом данных
0
-5 / 10 / 0
Регистрация: 14.03.2019
Сообщений: 52
03.04.2019, 14:03  [ТС]
как вывести правильно?
0
11 / 10 / 1
Регистрация: 02.03.2019
Сообщений: 16
08.04.2019, 11:37
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import pymorphy2
 
morph = pymorphy2.MorphAnalyzer()
 
while True:
    word = input()
    parse_word = morph.parse(word)[0]
 
    if 'NOUN' in parse_word.tag:
        if parse_word.tag.animacy == 'anim':
            if parse_word.tag.number in {'plur'}:
                print('Живые')
            else:
                if parse_word.tag.gender in 'masc':
                    print('Живой')
                elif parse_word.tag.gender in 'femn':
                    print('Живая')
                else:
                    print('Живое')
        else:
            if parse_word.tag.number in {'plur'}:
                print('Не живые')
            else:
                if parse_word.tag.gender in 'masc':
                    print('Не живой')
                elif parse_word.tag.gender in 'femn':
                    print('Не живая')
                else:
                    print('Не живое')
 
    else:
        print('Не существительное')
Все работает, но только выдает ошибку


Traceback (most recent call last):
File "solution.py", line 6, in <module>
word = input()
EOFError: EOF when reading a line
make: *** [run] Error 1
0
11 / 10 / 1
Регистрация: 02.03.2019
Сообщений: 16
09.04.2019, 17:12
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import pymorphy2
import sys
 
morph = pymorphy2.MorphAnalyzer()
abc = 'ёйцукенгшщзхъфывапролджэячсмитьбю \n'
 
input_data = sys.stdin.read().lower()
words = ''.join([c for c in input_data if c in abc]).split()
 
for word in words:
    parse_word = morph.parse(word)[0]
 
    if 'NOUN' in parse_word.tag:
        if parse_word.tag.animacy == 'anim':
            if parse_word.tag.number in {'plur'}:
                print('Живые')
            else:
                if parse_word.tag.gender in 'masc':
                    print('Живой')
                elif parse_word.tag.gender in 'femn':
                    print('Живая')
                else:
                    print('Живое')
        else:
            if parse_word.tag.number in {'plur'}:
                print('Не живые')
            else:
                if parse_word.tag.gender in 'masc':
                    print('Не живой')
                elif parse_word.tag.gender in 'femn':
                    print('Не живая')
                else:
                    print('Не живое')
 
    else:
        print('Не существительное')
Работает!
3
-5 / 10 / 0
Регистрация: 14.03.2019
Сообщений: 52
09.04.2019, 18:42  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import pymorphy2
import sys
 
morph = pymorphy2.MorphAnalyzer()
for word in sys.stdin:
    if not word[-1].isalpha():
        word = word[:-1:]
    parse_word = morph.parse(word)[0]
    if 'NOUN' in parse_word.tag:
        if parse_word.tag.animacy == 'anim':
            if parse_word.tag.number in {'plur'}:
                print('Живые')
            else:
                if parse_word.tag.gender in 'masc':
                    print('Живой')
                elif parse_word.tag.gender in 'femn':
                    print('Живая')
                else:
 
                    print('Живое')
        else:
            if parse_word.tag.number in {'plur'}:
                print('Не живые')
            else:
                if parse_word.tag.gender in 'masc':
                    print('Не живой')
                elif parse_word.tag.gender in 'femn':
                    print('Не живая')
                else:
                    print('Не живое')
 
    else:
        print('Не существительное')
0
0 / 0 / 0
Регистрация: 04.12.2019
Сообщений: 1
01.04.2020, 13:26
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import pymorphy2
from sys import stdin
text = stdin.read().lower()
alf = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя \n'
ma = pymorphy2.MorphAnalyzer()
words = ''.join([i for i in text if i in alf]).split()
for ch in words:
    word = ma.parse(ch)
    lol = word[0][1]
    if 'NOUN' in lol:
        if 'femn' in lol:
            if 'sing' in lol:
                if 'anim' in lol:
                    print('Живая')
                else:
                    print('Не живая')
            else:
                if 'anim' in lol:
                    print('Живые')
                else:
                    print("Не живые")
        if 'neut' in lol:
            if 'sing' in lol:
                if 'anim' in lol:
                    print('Живое')
                else:
                    print('Не живое')
            else:
                if 'anim' in lol:
                    print('Живые')
                else:
                    print("Не живые")
        if 'masc' in lol:
            if 'sing' in lol:
                if 'anim' in lol:
                    print('Живой')
                else:
                    print('Не живой')
            else:
                if 'anim' in lol:
                    print('Живые')
                else:
                    print("Не живые")
    else:
        print('Не существительное')
0
5 / 5 / 0
Регистрация: 07.11.2021
Сообщений: 21
15.03.2022, 15:20
#Вот код, у меня зачло

import pymorphy2
import sys


words = sys.stdin.read()
morph = pymorphy2.MorphAnalyzer()
for word in words.split():
parse_word = morph.parse(word)[0]
if parse_word.tag.POS in {'NOUN'}:
cases = {'ADJF', parse_word.tag.number, parse_word.tag.gender, 'nomn'}
if parse_word.tag.number == 'plur':
cases.discard(parse_word.tag.gender)
anim = morph.parse('Живой')[0].inflect(cases)
if parse_word.tag.animacy == 'anim':
print(anim.word.capitalize() if anim else None)
else:
print('Не', anim.word if anim else None)
else:
print('Не существительное')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru