Python: сохранение позиции мыши в одном списке

#python #listener #pynput

#питон #слушатель #пинпут

Вопрос:

В следующем коде python:

 from pynput.mouse import Listener  coord = []  def click(x, y, button, pressed):  if pressed:  x = int(x)  y = int(y)  coord.append(x)  coord.append(y)   if len(coord) == 4:  print(coord)  return   with Listener(on_click = click) as Listener:  Listener.join()  

что я хочу сделать, так это то, что код остановится, когда coord в нем будет 4 элемента. так что, похоже, это If прекратится, когда я нажму дважды.

Комментарии:

1. Вы добавляете по 2 элемента каждый клик, которые вы хотите добавить (x, y) .

Ответ №1:

Так как вы каждый раз добавляете значения x и y по отдельности. Каждый щелчок мыши сохраняется в виде 2 значений(x и y). Вот почему вместо того, чтобы код останавливался на 4 щелчках, он останавливается на 2 щелчках. Чтобы исправить это, добавьте кортеж или список(я использовал кортеж).

 from pynput.mouse import Listener  coord = []  def click(x,y, button, pressed):  if pressed:  x = int(x)  y = int(y)  coord.append((x,y)) # You can use a list also here.   if len(coord) == 4:  print(coord)  return   with Listener(on_click = click) as Listener: Listener.join()