Top.Mail.Ru
Ответы

Яндекс учебник Задачи повышенной сложности «Функции» (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()
Проверить, чиста ли клетка

По дате
По Рейтингу
Аватар пользователя
Просветленный
4мес
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()