Писать было слишком много, поэтому прикрепляю фотографию с решением.
Удачи!
<span>from collections import namedtuple
from math import pow, sqrt
Point = namedtuple('Point', ('x', 'y'))
a = Point(0, 0)
b = Point(8, 2)
c = Point(-2, 6)
len_ = lambda p1, p2: sqrt(pow(p2.x - p1.x, 2) + pow(p2.y - p1.y, 2))
ab = len_(a, b)
ac = len_(a, c)
bc = len_(b, c)
perimeter = sum((ab, ac, bc))
area = ((a.x - c.x) * (b.y - c.y) - (b.x - c.x) * (a.y - c.y)) / <span>2
</span>print 'Perimeter: {}'.format(perimeter)
print 'Area: {}'.format(area)</span>
Задача 1). Для исполнителя Чертежник в этой задаче надо подставить вместо x значение a, аналогично для y подставляем значение b
получим:
<span>(X+2, Y+9)
</span>Задача 2). Аналогично для второго задания<span>. Только надо начинать со второй команды, чтобы вернуться в точку (1,1).
переведи в точку(4,2)
переведи в точку(7,6)
переведи в точку (1,1)
</span>
Задача 3)<span>. </span>В этой задаче надо просто подставить числовые значения из левого столбца таблицы в правый столбец:<span>
(x+1,y+4)
(x+6,y+8)
(x+2,y-5)
Задача 4). В этой задаче необходимо сдвигать перо чертежника по вертикали и по горизонтали.
сдвинь на вектор(0,9)</span>
<span>сдвинь на вектор(9,0)</span>
<span><span>сдвинь на вектор(0,9)</span>
</span>
<span>Ответ: одна буква несет 5 бит информации.</span>