как выйти из цикла и запустить его по новой?

имеется вот такой код:

import win32api
import time
import pyautogui

while True:
   l = win32api.GetKeyState(0x01)
   r = win32api.GetKeyState(0x02)
 
   if (l<0 and r<0):  
      pyautogui.dragRel(-2,4,duration=0.024)
      pyautogui.dragRel(-2,4,duration=0.024)
      pyautogui.dragRel(-2,4,duration=0.024)
      pyautogui.dragRel(-2,4,duration=0.024)
      pyautogui.dragRel(-2,4,duration=0.024)
      pyautogui.dragRel(-1,4,duration=0.024)
      pyautogui.dragRel(-1,4,duration=0.024)
      pyautogui.dragRel(-1,4,duration=0.024)
      pyautogui.dragRel(-1,4,duration=0.024)
      pyautogui.dragRel(-1,4,duration=0.024)
      pyautogui.dragRel(1,3,duration=0.024)
      pyautogui.dragRel(1,3,duration=0.024)
      pyautogui.dragRel(1,3,duration=0.024)
      pyautogui.dragRel(1,3,duration=0.024)
      pyautogui.dragRel(1,3,duration=0.024)

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

Однако если делать через break, то цикл уже не восстанавливается и не работает. Есть у вас идеи, господа?


Ответы (1 шт):

Автор решения: Max

Попробуйте поместить ваш цикл в функцию, а в том месте где нужно запустить все заново сделайте рекурсию с помощью return. Имейте ввиду, в пайтон количество рекурсий ограничено до 1000 раз, если это действие будет чаще - используйте процессы для последующих перезапусков, и не забывайте удалять предыдущие процессы

→ Ссылка