Вход для сдачи заданий второго полугодия
Результаты сдачи заданий второго полугодия
Рейтинг московских школ (в части успехов на олимпиадах) рассчитывается по следующим формулам:
Рассчитайте рейтинги школ Москвы по результатам 2012–2013 года. Список школ можно взять по призерам регионального этапа. Результаты регионального, заключительного этапа и московской олимпиады школьников берутся со страницы http://reg.olimpiada.ru/rusolymp-summary/search/. Обратите внимание, что на этой странице имеются формы, которые получают данные при помощи метода POST (а не GET, как в предыдущем задании). Пример использования метода POST есть в документации на urllib.request, искать по словам The following example uses the POST method instead.
Упорядочите школы по убыванию рейтинга.
Изучите документацию на модуль urllib.request (можете сразу же изучить первые примеры в разделе 21.6.22).
Напишите программу, которая считывает результаты по всем предметам и подсчитывает для каждой школы число победителей и призеров из этой школы. Выведите школы по убыванию общего числа победителей и призеров, при их равенстве – по убыванию числа победителей.
Также для каждого школьника подсчитайте, сколько раз он стал призером и победителем. Школьник идентифицируется фамилией, именем, отчеством и номером школы. Упорядочите список аналогично школам, для каждого школьника также выведите список предметов, по которым у него есть награды. Названия предметов должны быть русскими.
Изучите списки призеров регионального этапа http://reg.olimpiada.ru/city-stage/winners/2013-2014/public.html
Напишите программу, которая считывает HTML-страницу, сохраненную в каталоге рядом с программой, разбирает содержимое этой страницы, подсчитывает для каждой школы (которая встречается на этой странице) число победителей, призеров и общее число награжденных из школы, сортирует результаты по числу награжденных (по убыванию), выводит результат на экран. Данные в выводе группируются по номеру школы
Как открывать файл для чтения в кодировке UTF-8 (может понадобиться в разных странных операционных системах)
Научить черепашку рисовать пунктирные линии. Рисование пунктирных линий должно осуществляться стандартными методами forward-backward и их синонимами.
Черепашка должна иметь метод, задающий режим рисования пунктирной линии. Форма пунктирной линии задается дополнительными параметрами данного метода, минимальное количество параметров для реализации – длина одного отрезка линии, тогда пунктирная линия состоит из отрезков заданной длины, чередующихся с промежутками данной длины.
Если черепашка останавливается, делает поворот и продолжает движение дальше, то форма пунктирной линии в точке поворота не должна меняться (пунктирная линия «поворачивает» вместе с черепашкой).
Модифицировать методы черепашки таким образом, чтобы можно было создавать списки новых цветов.
При создании нового экземпляра класса Color, задается текстовая строка – описание цвета и его RGB-код. Список (словарь) всех новых доступных цветов хранится в атрибуте класса (статическом поле):
Методы черепашки, работающие с цветами, должны уметь принимать параметр, описывающий цвет, имеющий вид:
* Строкой, задающей один из стандартных цветов Tk.
* Строкой с RGB-кодом типа "#ABCDEF"
* Кортежем из трех чисел (R, G, B)
* Экземпляром класса Color
* Текстовой строкой, являющейся названием цвета, созданного раньше при помощи экземпляра класса Color
Добавить в модуль Turtle новый класс Color, позволяющий создавать новые объекты типа Color. Модифицируйте методы черепашки так, чтобы вместо цвета можно было передавать объекты типа Color.
Список названий цветов, которые можно использовать в черепашке
Колдунщик цветов Яндекса
turtle.py
Задание: научить черепашку работать с каким-то новым цветом, задаваемым текстовой строкой.
Изучите документацию на модуль turtle. Нарисуйте при помощи черепашки спирали:
Нарисуйте еще какие-нибудь подобные красивые картинки.
Сводная таблица за первое полугодие
Геометрия | Условия | Вход [410] | Результаты | Можно сдавать на C++ |
Представление действительных чисел | Условия | Вход [383] | Результаты |