Кто шарит в 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()

30 Мая 2020 в 19:42
130 +1
0
Ответы
1

Проблема в том, что вы используете два 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 для отслеживания состояния пробела. Когда пробел нажат, он нажимается только один раз, и затем отпускается, когда пробел отпущен.

18 Апр в 11:28
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 887 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир