Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 20.11.2022
Сообщений: 8

Вывести id животных из списка

27.11.2022, 11:57. Показов 4714. Ответов 4

Студворк — интернет-сервис помощи студентам
В определенном зоопарке находятся животные, каждому из которых присвоены следующие параметры:
ID, вид, пол, кличка, дата рождения и дата поступления в зоопарк. Исходя из этих данных, вывести ID всех животных для каждого вида.
Формат ввода
Имеется текстовый файл input.txt, который содержит информацию про конкретного животного в каждой строчке:
ID1 animal1 gender1 nickname1 dateofbirth1 dateofarrive1
IDn animal1 gendern nicknamen dateofbirthn dateofarriven
1 <= n<=1000

Формат вывода
Вывести через строчку ID всех животных определенного вида следующим образом:
animalk1 :ID1, ID2 и тд
Где длина названия вида животных увеличивается с каждой строчки, то есть:
∣animal k1∣<∣animalk2∣<…<∣animalkm∣.
Также ID выводится в порядке увеличения значения.

Ввод
0042 lion male Pushok 13.09.2015 31.12.2016
0043 dog female Dora 29.01.2015 31.12.2016
0003 dog male Max 03.03.2011 31.12.2016

Вывод
dog: 0003, 0043
lion: 0042

Я пробовала этот код, но пишет, что ответ неверный. Как можно его преобразовать?

Python
1
2
3
4
5
6
7
8
9
10
11
12
f = open("input.txt") 
s = f.readlines() 
f.close() 
s = list(map(lambda x:x.split(), s)) 
s.sort(key=lambda x: (len x[1]),int(x[0])))   
animal = ""   
for i in range(len (s)):    
    if animal != s[i][1]:   
        animal = s[i][1]   
        print("\n",animal,": ",s[i][0],sep="",end="")  
    else:   
        print(",",s[i][0],end="")
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2022, 11:57
Ответы с готовыми решениями:

Вывести первые 5 имен животных из отсортированного списка
Здравствуйте! Список отсортирован по убыванию количества пищи. Надо вывести первые 5 имен животных. Как это можно сделать? internal...

Напишите программу, которая принимает сначала 3 названий животных, а потом 3 описаний для животных
Напишите программу, которая принимает сначала 3 названий животных, а потом 3 описаний для животных. После чего случайным образом выбирает...

Определить результативного охотника — по количеству животных и по весу животных
как определяющий результативного охотника - по количеству животных и по весу животных. #include &lt;stdio.h&gt; struct dannie { ...

4
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
27.11.2022, 13:22
Цитата Сообщение от kamchatkachild Посмотреть сообщение
Я пробовала этот код, но пишет, что ответ неверный. Как можно его преобразовать?
Если выкладываете код, то используйте теги языка программирования, чтобы код оставался читаемым.
А вообще не надо "пробовать" код, не надо ничего никуда преобразовывать. Надо просто взять и написать.
Python
1
2
3
4
5
6
7
8
9
result = {}
 
with open('input.txt') as file:
    for line in file:
        data = line.split()
        result.setdefault(data[1], []).append(data[0])
 
for key, value in sorted(result.items(), key=lambda x:len(x[0])):
    print(f'{key}:', *sorted(value))
Code
1
2
3
4
5
6
dog: 0003 0043
lion: 0042
 
 
** Process exited - Return Code: 0 **
Press Enter to exit terminal
Добавлено через 3 минуты
kamchatkachild, Или вот так, немного компактней.
Python
1
2
3
4
5
6
7
8
9
result = {}
 
with open('input.txt') as file:
    for line in file:
        data = line.split()
        result.setdefault(data[1], []).append(data[0])
 
for key in sorted(result, key=len):
    print(f'{key}:', *sorted(result[key]))
0
0 / 0 / 0
Регистрация: 20.11.2022
Сообщений: 8
27.11.2022, 13:29  [ТС]
а как сделать так, чтобы id шли через запятую?

Добавлено через 3 минуты
anton78spb, не принимает такой ответ, возможно, нужно чтобы id через запятую перечислялся
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
27.11.2022, 13:45
Лучший ответ Сообщение было отмечено kamchatkachild как решение

Решение

kamchatkachild,
Python
1
2
3
4
5
6
7
8
9
result = {}
 
with open('input.txt') as file:
    for line in file:
        data = line.split()
        result.setdefault(data[1], []).append(data[0])
 
for key in sorted(result, key=len):
    print(f'{key}: {", ".join(sorted(result[key]))}')
Code
1
2
3
4
5
6
dog: 0003, 0043
lion: 0042
 
 
** Process exited - Return Code: 0 **
Press Enter to exit terminal
1
0 / 0 / 0
Регистрация: 20.11.2022
Сообщений: 8
27.11.2022, 13:47  [ТС]
anton78spb, вы мой спаситель, благодарю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.11.2022, 13:47
Помогаю со студенческими работами здесь

Зная количество животных каждого вида, посчитайте, сколько всего ног у всех животных на ферме
4. Для решения этой задачи необходимо написать функцию, которая посчитает количество ног у всех животных на ферме. На ферме живут курочки,...

Первые люди одомашнили домашних животных созданием культов и святилищ этих домашних животных
Предполагается, что первые люди на нашей планете Земля одомашнили животных создавая их культы и святилища, так ведя естественный отбор...

Задача "Магазин животных": Посчитать суммарную стоимость всех животных.
Доброго времени суток Прошу помощи в решении задачи Исходный файл: CAT Mike 3 3700 DOG Tom 2 2900 CAT Tick 4.5 3500 DOG...

Вывести все виды животных, которые есть в зоопарке
Помогите, пожалуйста! Задача совершенно простецкая, но постоянно вылетают ошибки.. В определенном зоопарке находятся животные, каждому из...

Вывести количество животных определенной природной зоны и определить расходы на их содержание
2. Сведения о животных зоопарка находятся в типизированном файле: название животного, природная зона, затраты на корм за один день. Вывести...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru