Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

Вывод параметров в питоне (почти решённая задача)

Артём Сафонов Знаток (446), закрыт 2 месяца назад
В определенном зоопарке находятся животные, каждому из которых присвоены следующие параметры:
ID, вид, пол, кличка, дата рождения и дата поступления в зоопарк. Исходя из этих данных, вывести 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

Примечания
1.Обратите внимание, что входные данные считываются из файла input.txt (см. рекомендации к вводу-выводу).
2.Гарантируется, что вывод однозначный (не существует животных с одинаковой длиной названия);
3.Порядок вывода имеет значение.
4.Идентификаторы животных могут повторяться во входных данных. Соответственно, в выходных данных они должны так же повторяться.
5.Нужно сортировать не только имена животных, но и идентификаторы.


Ввод input.txt
Вывод стандартный вывод

***
Было обсуждение задания и один человек прислал своё решение.У него ответ проходил верный, но система не засчитала его как верный. Комментарий куратора обозначил, что некоторые данные строки нужно перевести в intПомогите пожалуйста! Последний день для сдачи работы. Благодарю заранее!
Лучший ответ
Дмитрий Филюшкин Мудрец (10687) 2 месяца назад
Здравствуйте, Артём!
Вот я немного переделал эту программу:
 with open('input.txt','r') as file: 
text = file.read().splitlines()
animal_set = set()
for line in text:
if line.split()[1] not in animal_set:
animal_set.add(line.split()[1])
animal_sorted =sorted(animal_set, key = lambda i: len(i))

for animal in animal_sorted:
list_id = list()
print(animal,": ", sep = '', end = '')

text.sort(key=lambda i: int(i.split()[0]))
for line in text:
if line.split()[1] == animal:
list_id.append(str(line.split()[0]))
print(*list_id, sep=', ')
Артём СафоновЗнаток (446) 2 месяца назад
Всё работает! Нажал "выбрать лучший ответ". Благодарю!!)
Дмитрий Филюшкин Мудрец (10687) Артём Сафонов, пожалуйста!
Остальные ответы
Дмитрий Пофиг Знаток (332) 2 месяца назад
Ема чувак, а ты щас где учишься? Я просто сам планирую идти на пайтон, сохраню. Спс
Похожие вопросы