Набор задач #6

Время и даты:

Доступно для решения с 07 May 2010 03:00:00 по 24 May 2010 14:00:00
С момента опубликования задач прошло: 602 дней 23 часов 6 минут
Закрыто для сдачи: 585 дней 12 часов 6 минут назад

Задача #0

Условие
Пройдите Python Challenge до 10 уровня. Скопируйте сюда ссылки на уровни 4-10.

Задача #1

Условие
Прочитайте статью про сложение строк (конкатенацию) в Питоне - http://www.skymind.com/~ocrow/python_string/.

Напишите тестирующую систему (класс), которому в конструкторе задается:
  • количество строк
  • минимальное количество символов в строгах
  • максимальное количество символов в строках

Объект этого класса по запросу может генерировать набор случайных строк из '[a-zA-Z0-9]*' (по каждому запросу новый) и проверять, за сколько времени каждый из 6 методов их сложит. На такой запрос объект возвращает список из 6 элементов -- количество миллисекунд, которые заняла работа соответствующего метода конкатенации.

Задача #2

Условие
Изучите библиотеку рисования графиков PyPlot -- http://matplotlib.sourceforge.net/users/pyplot_tutorial.html. Внимание, она может не входить в стандартный дистрибутив Питона, необходимо поставить самим!

Напишите вспомогательный класс (View, см. MVC) для определенного в прошлой задаче класса (Model, см. MVC). Новый класс должен уметь рисовать гистограмму по данным, предоставленным моделью.

Задача #3

Условие
Создайте две программы (скрипта) на Python.

Первому скрипту в переменной командной строки (см. sys.argv) задается число x, скрипт печатает x-ое число Фибоначчи.

Второму скрипту в переменной командной строки задается название первого файла, A и B. Второй скрипт запускает первый с аргументами от A до B включительно и проверяет, правилен ли выдаваемый им результат по модулю 2, 3 и 5 (и только по такому признаку). В случае ошибки первого скрипта (неправильного ответа или бросаемого исключения), второй печатает номер теста (число от A до В), что первый выдал (неправильное число или имя исключения), чему это равно по модулям 2, 3, 5 (если неправильное число) и что ожидалось.
В конце выполнения второй скрипт пишет, сколько было ошибок из общего количества тестов, а также % ошибок.

Задача #4

Условие
Поставьте библиотеку обработки изображений PIL -- http://www.pythonware.com/products/pil/, описание -- http://www.pythonware.com/library/pil/handbook/.

Напишите скрипт, которому задается имя каталога (относительно текущего, например 'imgs/').

Скрипт должен выводить средний RGB-цвет всех файлов изображений, найденных в этом каталоге. Например: '(239,239,239)'.