Статья Автор: Лебедев Дмитрий Алексеевич

Черепашка-bobik. Часть 1.2 - Добавлеяем команды

Пока наш bobik понимает команды поворота только в "стандартном"(военно-физкультурном") формате.
Попробуем добавить поворот на нужное количество градусов, то есть понимать команды в формате L45, R120/
Как "разделить" строки L и L45?
- первая равна "L"
- вторая не равна "L", но первый символ в ней равен 'L'
значит, вначале надо проверять равенство, а потом совпадение первого символа. 
(Выделять значение уже умеем). 

Модифицируем подпрограмму bobik. (Добавим пару строк, фактически являющихся copy-paste одной из строк)
и разрешим использование вещественного формата для движения вперед и поворотов.
Приведем примеры рисунков с поворотами на градус

 

Теперь попробуем усовершенствовать навык использования "командной строки" для рисования фигур в "масштабе" при заданном размере клетки.
Например
bobik("F1 R " * 4 + "F2 R " * 4 + "F3 R " * 4 +"F4 R " * 4  + "F5 R " * 4)  
нарисует 5 вложенных квадратов.
Можно немного упростить, используя цикл
for n in range(1,6) :
  s = ('F' + str(n) + ' R ') * 4
  bobik(s)

Для "упрощения" этого процесса (и вообще для формирования строк) есть f' - строки
Полную информацию по ним можно найти в сети. Здесь приведем только примеры, необходимые для нашей задачи
Рисование вложенных квадратов можно осуществить
for n in range(1,6) :
  s = (f'F{n} R ')* 4
  bobik(s)

Ниже предствален блок с использованием f' - строки. Можете самостоятельно потренироваться в использовании f' - строк

 
Печать