Яндекс учебник Задачи повышенной сложности «Функции» (Python)
Само задание и парочка тестов, которые программа должна проходить
Команды:
move_left()
Сделать шаг влево
move_right()
Сделать шаг вправо
move_up()
Сделать шаг вверх
move_down()
Сделать шаг вниз
fill_cell()
Закрасить клетку
free_from_up()
Проверить, свободно ли сверху
free_from_down()
Проверить, свободно ли снизу
free_from_left()
Проверить, свободно ли слева
free_from_right()
Проверить, свободно ли справа
wall_from_up()
Проверить, есть ли стена сверху
wall_from_down()
Проверить, есть ли стена снизу
wall_from_left()
Проверить, есть ли стена слева
wall_from_right()
Проверить, есть ли стена справа
cell_is_filled()
Проверить, закрашена ли клетка
cell_is_clean()
Проверить, чиста ли клетка
По дате
По Рейтингу
12345678910111213141516
def fill_area():
while cell_is_clean():
fill_cell()
if free_from_right(): move_right()
elif free_from_down(): move_down()
elif free_from_left(): move_left()
elif free_from_up(): move_up()
else: break
if not cell_is_filled() and free_from_down(): move_down()
while cell_is_clean() or not cell_is_filled():
if free_from_up(): move_up()
if cell_is_clean(): fill_cell()
if free_from_right(): move_right()
elif free_from_down(): move_down()
elif free_from_left(): move_left()