Домашняя работа «Новые возможности условного оператора» (Python)
ПОМОГИТЕ!!!
Это Палестина 🇵🇸 🇵🇸 🇵🇸
Кота зовут Камила.
Вы Палестину увожайте,
Кота не обижайте.
Все террористы и хохлы,
Цахаловцы и алкаши,
Побойтесь вы Камилу
И увожайте Палестину!
Задача №2: Найти закрашенную клетку
Условие: Робот находится где-то в прямоугольнике. Одна клетка рядом с исходной закрашена. Робот должен оказаться в ней.
Логика: Нужно проверить все четыре направления вокруг робота. Если соседняя клетка закрашена, нужно в неё перейти.
if not free_from_up(): # Если сверху стена, проверять там не будем, но по условию клетка точно рядом
pass
# Проверяем каждое направление
move_up()
if cell_is_filled():
pass # Мы уже на месте
else:
move_down() # Возвращаемся в центр
move_down()
if cell_is_filled():
pass
else:
move_up() # Возвращаемся в центр
move_left()
if cell_is_filled():
pass
else:
move_right() # Возвращаемся в центр
move_right() # Идем в последнюю возможную клетку
Задача №3: Закрасить клетку между стен
Условие: Если у клетки слева и у клетки справа есть стена сверху, он должен закрасить исходную клетку.
Логика: Роботу нужно "заглянуть" влево и вправо, проверить наличие стены сверху в тех клетках, и если оба условия верны — закрасить текущую.
# 1. Проверяем клетку слева
move_left()
condition_left = wall_from_up()
move_right() # Вернулись
# 2. Проверяем клетку справа
move_right()
condition_right = wall_from_up()
move_left() # Вернулись
# 3. Если обе стены на месте — красим
if condition_left and condition_right:
fill_cell()
Задача №4: Обойти стенку
Условие: С одной стороны от робота есть стенка шириной в 1 клетку. Робот должен обойти её и встать с другой стороны.
Логика: Сначала нужно определить, с какой именно стороны стена, а затем сделать "крюк".
if wall_from_up():
move_left()
move_up()
move_up()
move_right()
elif wall_from_down():
move_left()
move_down()
move_down()
move_right()
elif wall_from_left():
move_up()
move_left()
move_left()
move_down()
elif wall_from_right():
move_up()
move_right()
move_right()
move_down()
Советы по синтаксису:
Не забывай про отступы (4 пробела или Tab) после if и else.
Если в задаче №3 тебе нельзя использовать переменные (как condition_left), можно написать один длинный if:
if wall_from_left_side_something... (но обычно в этой среде проще переместиться, проверить и вернуться).
Спасибо!!!