Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 12, 2016 19:09:43

polsovatel
Зарегистрирован: 2016-01-08
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача C4 из ЕГЭ

Люди добрые, помогите пожалуйста решить данную задачу, а то второй день мучаюсь…

На вход программе подаются сведения о сдаче экзаменов учениками 9–х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат:

<Фамилия> <Имя> <оценки>,

где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более чем из 15 символов, <оценки> – через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:

Иванов Петр 4 5 3

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и имена трех худших по среднему баллу учеников. Если среди остальных есть ученики, набравшие тот же средний балл, что и один из трех худших, то следует вывести и их фамилии и имена.

Офлайн

#2 Янв. 12, 2016 19:37:31

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Задача C4 из ЕГЭ

Покажи свой вариант, что не получается - подскажем.



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#3 Янв. 12, 2016 21:08:58

polsovatel
Зарегистрирован: 2016-01-08
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача C4 из ЕГЭ

да я особо ничего не написал.
Мысль такая:
1)записываем в переменную все про ученика
2)записываем в другую переменную имя и фамилию(что нам надо вывести)
3)создаем список и записываем туда оценки, а дальше складываем элементы списка и сравниваем.

Только как реализовать не знаю

Офлайн

#4 Янв. 12, 2016 21:23:16

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Задача C4 из ЕГЭ

polsovatel
Только как реализовать не знаю

Предлагаю изучить основы, можно в онлайне тут и тут, и очевидные вопросы вопросы вида “как записать в переменную данные, веденные с клавиатуры” отпадут.



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#5 Янв. 12, 2016 21:25:19

polsovatel
Зарегистрирован: 2016-01-08
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача C4 из ЕГЭ

Я читал уже. Вроде все знаю, но не могу решить задачу и все тут. Помогите

Офлайн

#6 Янв. 12, 2016 22:54:57

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Задача C4 из ЕГЭ

polsovatel
не похоже что вы и пытались ее решить.

Говорить буду про Python 2, в 3 немного по другому
Для начала можно попробовать так:
* задаем defaultdict словарь с типом данных list
* в цикле обрабатывает входные данные: считаем средний бал ученика. Используем это значение как ключ словаря и добавляем имя и фамилию ученика в значение этого словаря т.е. MyDict.append(student_name)
* словарь преобразуем в список значений MyDict.items()
* полученный список сортируем методом sort или функцией sorted
* первые 3 элемента соответствуют первым трех худшим баллам успеваемости, осталось только вывести имена студентов

Дальше вам надо этот алгоритм воплотить в жизнь, пользуясь документацией и учебниками/книгами.

После этого надо подумать а является ли это самым эффективным решением. Думаю нет. А стоит ли писать что то еще - если вы предыдущие сами не осилили ..то думаю нет



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version