簡體   English   中英

python:雖然循環不循環。 (當陳述為真時)

[英]python: While loop doesn't Loop. (when the statement is true)

我正在嘗試制作一個程序,該程序將在按下“<”鍵時打開,並將一直按住鍵“1”和“2”直到關閉。 例如:121212121212121212

它會打開和關閉,但打開時不會按鍵。

代碼:

import keyboard
from pynput.keyboard import Key, Controller
import time
key = "2"
onOffState = False
import os

while True:
    print(key)
    print(onOffState)
    if keyboard.read_key() == "<" and onOffState == False:
        onOffState = True
    while onOffState == True:
        print(onOffState)
        keyboard.press(key)
        if keyboard.read_key() == "<" and onOffState == True:
            time.sleep(0.5)
            if keyboard.read_key() == "<":
                onOffState = False
                time.sleep(0.5)
               
        if key == "2":
            key = "1"
            continue
        if key == "1":
            key = "2" 

您可以使用keyboard.is_pressed("<")而不是keyboard.read_key()=="<"它應該可以工作

import keyboard
import time
import os
from pynput.keyboard import Key, Controller

key = "2"
onOffState = False

while True:
    print(key)
    print(onOffState)
    if keyboard.is_pressed("<") and not onOffState:
        onOffState = True
    while onOffState:
        print(onOffState)
        keyboard.press(key)
        if keyboard.is_pressed("<") and onOffState:
            time.sleep(0.5)
            if keyboard.is_pressed("<"):
                onOffState = False
                time.sleep(0.5)      
        if key == "2":
            key = "1"
        elif key == "1":
            key = "2" 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM