Почему он повторяет функцию, когда я реализую переменную c? - PullRequest
0 голосов
/ 27 апреля 2020

Я хочу создать горячую клавишу, если я нажимаю 1, он что-то печатает на моей клавиатуре, а если я нажимаю 2, он меняет некоторые переменные.

Почему-то, если я включу переменную sora_coins в то, что я хочу введите на моей клавиатуре, это происходит, если я нажимаю один через всю функцию, даже если я не нажимал 2, и если я нажимаю 2, он проходит второй цикл при выполнении 1 один раз и 2 время звука:

from pynput import keyboard
import time


kb= keyboard.Controller() #kb short for keyboard

sora_coins = "25"
side = "heads"
text = "cf "+ sora_coins + " " + side


def flip():
    kb.press(keyboard.Key.backspace)
    kb.release(keyboard.Key.backspace)
    kb.type(text)
    kb.press(keyboard.Key.enter)
    kb.release(keyboard.Key.enter)



def on_press(key):
    global side
    global sora_coins
    global text

    if keyboard.KeyCode(char = "1") == key:
        print(1)
        coins = "25"
        #text = "test" + sora_coins
        text = "cf "+ sora_coins + " " + side
        flip()

    if keyboard.KeyCode(char = "2") == key:
        print(2)
        if side == "heads": side = "tails"
        else: side = "heads"
        sora_coins = str(int(sora_coins) * 2)
        #text = "test"
        text = "cf "+ sora_coins + " " + side
        flip()

listener = keyboard.Listener(on_press = on_press)
listener.start()

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

...