Кто шарит в python нужна помощь, я пишу скрипт который при нажатии space должен дублировать его с определённой переодичностью. Дублирует то он дублирует, но это продолжается и когда я отпускаю пробел вот собственно код: def main(): while True: if keyboard.is_pressed("space"): while True: time.sleep(0.00015) keyboard.press_and_release("space") time.sleep(0.030) main()
Проблема в том, что вы используете два while цикла, что вызывает бесконечное выполнение кода дублирования пробела. Вместо этого вы можете использовать флаг для проверки состояния нажатия пробела.
Вот исправленный код:
import keyboard import time
def main(): is_space_pressed = False while True: if keyboard.is_pressed("space"): if not is_space_pressed: is_space_pressed = True keyboard.press("space") else: if is_space_pressed: is_space_pressed = False keyboard.release("space") time.sleep(0.01)
main()
В этом коде используется переменная is_space_pressed для отслеживания состояния пробела. Когда пробел нажат, он нажимается только один раз, и затем отпускается, когда пробел отпущен.
Проблема в том, что вы используете два while цикла, что вызывает бесконечное выполнение кода дублирования пробела. Вместо этого вы можете использовать флаг для проверки состояния нажатия пробела.
Вот исправленный код:
import keyboard
import time
def main():
is_space_pressed = False
while True:
if keyboard.is_pressed("space"):
if not is_space_pressed:
is_space_pressed = True
keyboard.press("space")
else:
if is_space_pressed:
is_space_pressed = False
keyboard.release("space")
time.sleep(0.01)
main()
В этом коде используется переменная is_space_pressed для отслеживания состояния пробела. Когда пробел нажат, он нажимается только один раз, и затем отпускается, когда пробел отпущен.