Как протестировать оператор if из списка

#python #python-3.x #turtle-graphics

#python #python-3.x #черепаха-графика

Вопрос:

У меня есть функция, которая сохраняет позиции разных конкурентов в списке, а затем добавляет список всякий раз, когда конкуренты должны перемещаться по доске. Расположение платы определяется как (горизонтальный и вертикальный — это размер x, y каждого прямоугольника в сетке):

     positions = [
    [-3*HORIZONTAL, 3*VERTICAL, 'A', 7],
    [3*HORIZONTAL, 3*VERTICAL, 'G', 7],
    [-3*HORIZONTAL, -3*VERTICAL, 'A', 1],
    [3*HORIZONTAL, -3*VERTICAL, 'G', 1]
]

used = [  
    [('A', 7)],
    [('G', 7)],
    [('A', 1)],
    [('G', 1)]
]
  

Мне интересно, может ли кто-нибудь объяснить, как я могу протестировать, чтобы первый участник достиг средней позиции сетки на доске (‘D’, 4), а затем нарисовать ее в отдельной легенде, в которой указано «победитель (конкурент)». У меня уже завершена функция рисования.

 #if competitor reaches position [D],[4] 
#draw  competitor at predetermined cordinates (x,y)
#add text above to state the winner is
  

Ответ №1:

поскольку вы ничего не сказали о соотношении конкурента и используемых ходов, я делюсь кое-чем в соответствии с моим пониманием вопроса. не стесняйтесь говорить, если это не то, что вы пытаетесь сделать.

 used = [  
    [('A', 7)],
    [('G', 7)],
    [('A', 1)],
    [('G', 1)]
]
if used[-1]==[('D', 4)]:
    competitor=#code to find who done the last move
    print('the winner is {}',competitor)
  

у вас есть все перемещения внутри списка, и я полагаю, что они добавляются итеративными шагами. таким образом, вы можете просто проверить последнюю запись в списке и найти имя конкурента, который ее использовал.