Comprehension, enumerate и zip в Python: отчёт по студентам
Собери отчёт по студентам
Что уже дано
Ничего создавать заранее не нужно: программа получает все данные через стандартный ввод. В каждой записи указаны имя студента и три его оценки. Имена уникальны и состоят из одного слова.
Что нужно сделать
Прочитайте данные и сформируйте три представления:
- имена студентов, у которых сумма трёх оценок строго больше 180, в исходном порядке;
- сумму оценок каждого студента в исходном порядке;
- все имена по возрастанию суммы оценок, а при равной сумме — по имени.
Для обработки данных используйте comprehensions, а для ранжирования — sorted(..., key=...).
Ввод и вывод
Все исходные данные программа читает из stdin, а готовый отчёт записывает в stdout.
Формат ввода
Программа читает данные из stdin. В первой строке дано целое число n (1 <= n <= 100). В следующих n строках записаны имя студента и три целых числа от 0 до 100 через пробел.
Формат вывода
Программа должна записать в stdout ровно три строки:
- Имена студентов с суммой оценок строго больше 180 через запятую и пробел. Если таких студентов нет, выведите
-. - Пары
имя=суммав исходном порядке через точку с запятой и пробел. - Все имена в порядке возрастания пары
(сумма оценок, имя)через запятую и пробел.
Пример
- Ввод
5 Анна 70 65 80 Борис 60 72 68 Вера 90 95 88 Глеб 70 60 50 Дина 85 70 60
- Вывод
Анна, Борис, Вера, Дина Анна=215; Борис=200; Вера=273; Глеб=180; Дина=215 Глеб, Борис, Анна, Дина, Вера
Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.
Отправьте решение, чтобы увидеть результаты тестов.
Связанные задачи
- Распаковка, args и kwargs в сигнатурах и вызовах — задача по Python
- Класс, init, атрибуты экземпляра и методы — задача по Python
- Инкапсуляция и property в Python: исправьте класс температуры
- Специальные методы: repr, str, eq, len — задача по Python
- Python: Каталог товаров: dataclass, NamedTuple и field(defaultfactory=...)
- Наследование, super() и переопределение методов — задача по Python
