ДЗ 3
Если в задании вы нашли незнакомые слова или непонятную математику, обязательно напишите нам! Мы объясним это понятие и/или поправим задание так, чтобы такой трудности в нём не было.
Постарайтесь сделать задачи 1, 2, 3.
Полезные ссылки
Родная (и потому самая полная и современная, но по-английски) документация по питону живёт тут.
Среда, которой мы пользовались для репозиториев TortoiseHg. А вот здесь его инсталлятор.
А храним мы всё на bitbucket, и, в частности, мои примеры из класса тоже.
Задания
- Установите меркуриал. Склонируйте на свой компьютер ваш репозиторий, который вы сделали на паре. Выполните те из задач, которые удастся. За-commit-те ваши решения. За-push-те их обратно. И пришлите нам ссылку на репозиторий.
"Простые числа". Напишите программу, которая проверяет, простое ли данное число. Если число составное, выпишите его делители (все, в том числе и составные). Число задано переменной в начале программы. (Число a делится на число b, если остаток от деления a на b равен 0)
"Pixel-art". Напишите программу, которая заполняет экран кружочками, стоящими в узлах прямоугольной решётки. Во избежание путаницы дальше я буду их называть точками. Если очередная точка попадает в круг с центром 100,100 радиуса 50, то её цвет жёлтый. Если очередная точка оказывается ниже линии y=30*sin(x/50)+300, то её цвет синий. В остальных случаях цвет точки голубой. Получилась картинка? <<Img(/~dendik/images/python/2014-10-12.png, style="float:right; clear:right; padding: 5px; background: white; border: 1px solid #da7; margin: 5px")>>
"Папоротник". Напишите программу, которая рисует фрактал Папоротник. Для этого нужно завести список, в котором каждый элемент – это набор параметров в виде списка (см. таблицу ниже). Далее задайте произвольное начальное значение x и y. Затем 10000 раз повторите: выбрать произвольный набор параметров из спиcка, и примените к координатам такое преобразование: x' = ax + by + e, y' = cx + dy + f. И каждый раз рисуйте точку (маленький кружок) по координатам 10*x, 10*y
a b c d e f 0 0 0 0.16 0 0 0.85 0.04 -0.04 0.85 0 1.6 0.2 -0.26 0.23 0.22 0 1.6 -0.15 0.28 0.26 0.24 0 0.44
"Лабиринт". Осторожно, сложный алгоритм; обращайтесь к нам за подсказками. В программе задан лабиринт (см. ниже примеры). В лабиринте пробелами обозначены проходы, остальные символы непроходимы. Напишите программу, которая отвечает, можно ли пройти в нём из левого-верхнего в правый-нижний угол. Ходить можно только по вертикали и по горизонтали.
labyrinth1 = [ [' ', '*', ' ', '*'], [' ', '* , ' ', ' '], [' ', ' ', ' ', ' '], [' ', '*', '*', ' '], ['*', ' ', ' ', ' '], ['*', ' ', ' ', ' '], ] labyrinth2 = [ [' ', ' ', ' '], [' ', ' ', ' '], [' ', ' ', ' '], ] labyrinth3 = [ [' ', '*', ' '] ] labyrinth4 = [ [' ', ' ', '*'], [' ', '*', ' '], ['*', ' ', ' '], ]