Здравствуйте, Артём!
Вот я немного переделал эту программу:
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=', ')
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Помогите пожалуйста! Последний день для сдачи работы. Благодарю заранее!