Задача. Марсоход 2 (Python)

К роботу Валли отправили ещё одного робота — Билли. Это его первая высадка на Марс, поэтому он тестируется в прямоугольном помещении размером 15 на 20 метров. Марсоход высаживается в центре комнаты (в точке 8, 10), после чего управление им передаётся оператору — пользователю вашей программы. Программа спрашивает, в какую сторону оператор хочет направить робота: север (клавиша W), юг (клавиша S), запад (клавиша A) или восток (клавиша D). Оператор делает выбор, марсоход перемещается на 1 метр в эту сторону и программа сообщает новую позицию марсохода. Если марсоход упёрся в стену, то он не должен пытаться перемещаться в сторону стены, в этом случае его позиция не меняется. Создайте программу для управления роботом Билли.

Пример:

[Программа]: Марсоход находится на позиции 6, 19, введите команду:

[Оператор]: A

[Программа]: Марсоход находится на позиции 5, 19, введите команду:

[Оператор]: W

[Программа]: Марсоход находится на позиции 5, 20, введите команду:

[Оператор]: W

[Программа]: Марсоход находится на позиции 5, 20, введите команду:

Что оценивается

Задание считается успешно выполненным, если:

  • результат вывода соответствует условию;
  • input содержит корректное приглашение для ввода;
  • формат вывода соответствует примеру;
  • Марсоход не двигается, если достигает границы участка.
  • Программа игнорирует регистр вводимых команд;

Советы и рекомендации

Необходимо обратить внимание на границы.

Решение задачи:

x = 8
y = 10
room = input('Марсоход находится на позиции 8, 10 введите команду: ')

while x != -1 and y != -1:
  if x < 15 and y <20:
    if (room == 'W') or (room == 'w'):
      y += 1
      print('Марсоход находится на позиции', x, y,'введите команду: ', end='')
      room = input()
    elif (room == 'S') or (room == 's'):
      y -= 1
      print('Марсоход находится на позиции', x, y,'введите команду: ', end='')
      room = input()
    elif (room == 'A') or (room == 'a'):
      x -= 1
      print('Марсоход находится на позиции', x, y,'введите команду: ', end='')
      room = input()
    elif (room == 'D') or (room == 'd'):
      x += 1
      print('Марсоход находится на позиции', x, y,'введите команду: ', end='')
      room = input()
Задача. Марсоход 2 (Python)

Оцените статью
( 50 оценок, среднее 1.72 из 5 )