Задача №11
Робот в правой верхней клетке прямоугольника 2×15. Там могут быть только вертикальные стенки длиной в 1 клетку, примыкающие к верхней стороне прямоугольника. Их количество и расположение может быть произвольным. Робот должен покрасить все клетки верхнего ряда, у которых есть хотя бы одна вертикальная стенка (стены прямоугольника не считаются). Остановиться нужно в левой нижней клетке прямоугольника.
Ответы
Ответ:
if wall_from_left():
fill_cell()
move_down()
move_left()
move_up()
for count in range(13):
if wall_from_left() or wall_from_right():
fill_cell()
move_down()
move_left()
move_up()
if wall_from_right():
fill_cell()
move_down()
Объяснение:
т.к. стены прямоугольника не считаются, то сначала используя условный оператор (if wall_from_left():) проверим надо ли закрашивать первую клетку и если условие (wall_from_left()) истинно, закрасим её
перейдём в следующую клетку
затем используя цикл с параметром (for count in range(13):) и условный оператор с составным условием (if wall_from_left() or wall_from_right():) будем проверять надо ли закрашивать текущую клетку и если составное условие (wall_from_left() or wall_from_right()) истинно, закрашивать её, а потом переходить в следующую клетку
т.к. стены прямоугольника не считаются, то в конце используя условный оператор (if wall_from_right():) проверим надо ли закрашивать последнюю клетку и если условие (wall_from_right()) истинно, закрасим её
спкстимся вниз, т.к. остановиться нужно в левой нижней клетке прямоугольника