class Tortoise: def __init__(self, x=0, y=0, s=1): self.x = x self.y = y self.s = s def go_up(self): """Перемещает черепашку вверх на s клеточек.""" self.y += self.s def go_down(self): """Перемещает черепашку вниз на s клеточек.""" self.y -= self.s def go_left(self): """Перемещает черепашку влево на s клеточек.""" self.x -= self.s def go_right(self): """Перемещает черепашку вправо на s клеточек.""" self.x += self.s def evolve(self): """Увеличивает шаг на 1.""" self.s += 1 def degrade(self): """Уменьшает шаг на 1 или выбрасывает ошибку, если шаг ≤ 0.""" if self.s <= 1: raise ValueError("Шаг не может стать ≤ 0") self.s -= 1 def count_moves(self, x2, y2): """Возвращает минимальное количество действий для достижения точки (x2, y2).""" dx = abs(x2 - self.x) dy = abs(y2 - self.y) return max((dx + self.s - 1) // self.s, (dy + self.s - 1) // self.s) # Пример использования tortoise = Tortoise() tortoise.go_up() tortoise.go_right() print(tortoise.x, tortoise.y) # Output: 1 1 tortoise.evolve() print(tortoise.s) # Output: 2 tortoise.go_up() print(tortoise.y) # Output: 3 print(tortoise.count_moves(10, 10)) # Output: 5