Определить местоположение места с помощью набора - PullRequest
0 голосов
/ 31 мая 2019

Создать функцию с именем repeated_position(current_position, moves), которая для заданной позиции (current_position) и списка ходов (ходов) возвращает первую позицию, в которой пешка оказывается во второй раз (если такая позиция существует),или -1, если все позиции, занятые пешкой, различны.

Я уже создал функцию для определения следующего местоположения:

def next_position(current_position, move):
  x, y = current_position
  if move == 'left':
      new_position = (x - 1, y)
  elif move == 'right': 
      new_position = (x + 1, y)
  elif move == 'up':
      new_position = (x, y + 1)
  else:
      new_position = (x, y - 1)
  return new_position

Но я не уверен, как написать ifусловия здесь.Что я получил:

def repeated_position(current_position, moves):
  x, y = current_position
  location = set()
  for move in moves:
    if next_position(current_position, move) not in location:
      location.add(next_position(current_position, move))
    elif next_position(current_position, move) in location:
        return next_position(current_position, move)
    elif len(location)==len(moves):
        return -1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...