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

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

27.11.2022, 11:57. Показов 4640. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru