• Предмет: Информатика
  • Автор: vladtolmachev07
  • Вопрос задан 4 месяца назад

Необходимо написать программу, которая группирует студентов по их группам.

Формат входного файла
В первой строке входного файла дано число
n
— количество студентов. Далее следует
n
строк, в каждой из которых записаны группа и имя студента.

Группа и имя студента разделены символом табуляции.

Формат выходного файла
Выходной файл должен содержать список студентов, сгруппированный по группам. Для каждой группы необходимо вывести имя группы, а затем все имена студентов, которые принадлежат этой группе в алфавитном порядке, каждое в новой строке.

Сами группы следуют также в алфавитном порядке.

Ответы

Ответ дал: ssdMan
1

Ответ:

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

Объяснение:

Вот пример решения на языке Python:

n = int(input())  # количество студентов

groups = {}  # словарь для хранения групп и студентов

for i in range(n):

   group, name = input().split('\t')  # считываем группу и имя студента

   if group in groups:

       groups[group].append(name)  # если группа уже есть в словаре, добавляем студента

   else:

       groups[group] = [name]  # если группы еще нет в словаре, создаем новую запись

# сортируем и выводим группы со студентами

for group in sorted(groups.keys()):

   print(group)

   for name in sorted(groups[group]):

       print(name)

Вас заинтересует