#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()