((http://server.179.ru/cgi-bin/new-client?contest_id=427&locale_id=1 Вход для сдачи заданий второго полугодия)) ((http://server.179.ru/ejudge/stand/mp/stand.php?contest=427 Результаты сдачи заданий второго полугодия))
===Регулярные выражения===
((http://server.179.ru/tasks/python/2015b1/regexp.pdf Презентация)) ((http://blog.dzinko.org/2011/03/python.html Статья про регулярные выражения в питоне)) ((https://docs.python.org/3/library/re.html Документация на модуль re))
===5 апреля=== Рейтинг московских школ (в части успехов на олимпиадах) рассчитывается по следующим формулам: 1. призер Московской олимпиады или регионального этапа Всероссийской олимпиады — 1 балл, 2. победитель Московской олимпиады или регионального этапа Всероссийской олимпиады — 3 балла, 3. призер заключительного этапа Всероссийской олимпиады — 5 баллов, 4. победитель заключительного этапа Всероссийской олимпиады — 10 баллов 5. за каждого школьника баллы начисляются только один раз по каждому предмету (берется максимальный балл по всем олимпиадам), но один школьник может получить баллы по разным предметам.
Рассчитайте рейтинги школ Москвы по результатам 2012-2013 года. Список школ можно взять по призерам регионального этапа. Результаты регионального, заключительного этапа и московской олимпиады школьников берутся со страницы http://reg.olimpiada.ru/rusolymp-summary/search/. Обратите внимание, что на этой странице имеются формы, которые получают данные при помощи метода POST (а не GET, как в предыдущем задании). Пример использования метода POST есть в документации на ((https://docs.python.org/3/library/urllib.request.html urllib.request)), искать по словам "The following example uses the POST method instead."
Упорядочите школы по убыванию рейтинга.
===22 марта=== Изучите документацию на модуль ((http://docs.python.org/3/library/urllib.request.html urllib.request)) (можете сразу же изучить первые примеры в разделе 21.6.22). Напишите программу, которая считывает результаты по всем предметам и подсчитывает для каждой школы число победителей и призеров из этой школы. Выведите школы по убыванию общего числа победителей и призеров, при их равенстве - по убыванию числа победителей.
Также для каждого школьника подсчитайте, сколько раз он стал призером и победителем. Школьник идентифицируется фамилией, именем, отчеством и номером школы. Упорядочите список аналогично школам, для каждого школьника также выведите список предметов, по которым у него есть награды. Названия предметов должны быть русскими.
===15 марта=== Изучите списки призеров регионального этапа ~ВсОШ: http://reg.olimpiada.ru/city-stage/winners/2013-2014/public.html Напишите программу, которая считывает HTML-страницу, сохраненную в каталоге рядом с программой, разбирает содержимое этой страницы, подсчитывает для каждой школы (которая встречается на этой странице) число победителей, призеров и общее число награжденных из школы, сортирует результаты по числу награжденных (по убыванию), выводит результат на экран. **Данные в выводе группируются по номеру школы**
Как открывать файл для чтения в кодировке UTF-8 (может понадобиться в разных странных операционных системах) %% open("input.html", "r", encoding="utf-8") %%
===1 марта=== Научить черепашку рисовать пунктирные линии. Рисование пунктирных линий должно осуществляться стандартными методами forward-backward и их синонимами.
Черепашка должна иметь метод, задающий режим рисования пунктирной линии. Форма пунктирной линии задается дополнительными параметрами данного метода, минимальное количество параметров для реализации - длина одного отрезка линии, тогда пунктирная линия состоит из отрезков заданной длины, чередующихся с промежутками данной длины.
Если черепашка останавливается, делает поворот и продолжает движение дальше, то форма пунктирной линии в точке поворота не должна меняться (пунктирная линия "поворачивает" вместе с черепашкой).
===15 февраля=== Модифицировать методы черепашки таким образом, чтобы можно было создавать списки новых цветов. При создании нового экземпляра класса Color, задается текстовая строка - описание цвета и его RGB-код. Список (словарь) всех новых доступных цветов хранится в атрибуте класса (статическом поле):
%% class Color: ColorList = dict() def __init__(self, ...): # новый цвет добавляется в ColorList %% Методы черепашки, работающие с цветами, должны уметь принимать параметр, описывающий цвет, имеющий вид: * Строкой, задающей один из стандартных цветов Tk. * Строкой с RGB-кодом типа "#ABCDEF" * Кортежем из трех чисел (R, G, B) * Экземпляром класса Color * Текстовой строкой, являющейся названием цвета, созданного раньше при помощи экземпляра класса Color
===8 февраля=== Добавить в модуль Turtle новый класс Color, позволяющий создавать новые объекты типа Color. Модифицируйте методы черепашки так, чтобы вместо цвета можно было передавать объекты типа Color.
===25 января=== ((http://www.tcl.tk/man/tcl8.4/TkCmd/colors.htm Список названий цветов, которые можно использовать в черепашке)) ((http://yandex.ru/yandsearch?text=%D1%86%D0%B2%D0%B5%D1%82%20%D0%B1%D0%B5%D0%B4%D1%80%D0%B0%20%D0%B8%D1%81%D0%BF%D1%83%D0%B3%D0%B0%D0%BD%D0%BD%D0%BE%D0%B9%20%D0%BD%D0%B8%D0%BC%D1%84%D1%8B Колдунщик цветов Яндекса)) ((https://dl.dropboxusercontent.com/u/13007864/179/2015b1/turtle.py turtle.py))
Задание: научить черепашку работать с каким-то новым цветом, задаваемым текстовой строкой.
===18 января===
Изучите документацию на модуль ((http://docs.python.org/3/library/turtle.html turtle)). Нарисуйте при помощи черепашки спирали: http://inf.1september.ru/2006/11/34-1.gif
Нарисуйте еще какие-нибудь подобные красивые картинки.
((http://server.179.ru/ejudge/standings/standings2014-10b1-h1.html Сводная таблица за первое полугодие))