Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача на Python

Александра Самедова Ученик (227), открыт 3 недели назад
Робот в углу, образованном двумя стенками, каждая шириной в 1 клетку. Ему надо выйти из угла и перейти в клетку, которая по диагонали примыкает к исходной.
1 ответ
Alex Mercer Мыслитель (6443) 3 недели назад
class Robot:
def __init__(self):
# Начальная позиция робота (0, 0) — нижний левый угол
self.x = 0
self.y = 0
self.direction = 'right' # Начальное направление вправо

def move_forward(self):
# Перемещает робота в зависимости от направления
if self.direction == 'right':
self.x += 1
elif self.direction == 'up':
self.y += 1
elif self.direction == 'left':
self.x -= 1
elif self.direction == 'down':
self.y -= 1

def turn_left(self):
# Поворачивает робота налево
directions = ['right', 'up', 'left', 'down']
current_index = directions.index(self.direction)
self.direction = directions[(current_index + 1) % 4]

def turn_right(self):
# Поворачивает робота направо
directions = ['right', 'down', 'left', 'up']
current_index = directions.index(self.direction)
self.direction = directions[(current_index + 1) % 4]

def get_position(self):
# Возвращает текущую позицию робота
return (self.x, self.y)

# Создаем робота
robot = Robot()

# Шаг 1: Робот движется вперед
robot.move_forward()

# Шаг 2: Поворачиваем робота влево
robot.turn_left()

# Шаг 3: Робот движется вперед
robot.move_forward()

# Получаем конечное положение робота
position = robot.get_position()
print("Робот переместился на клетку:", position)
Похожие вопросы