有效函数名Python上的未解析引用

2024-10-04 01:32:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还很陌生,但尽管我有过其他语言的经验,但它的语法似乎让我觉得有点不对劲。在

在下面的代码中,我在for循环中对autoclick的调用有一个未解析的引用,我不确定原因。我想这可能与我的参数有关,因为当我调用single_click()double_click()时没有错误。在

minDelayMs = int(input("Minimum delay between clicks (ms)?"))
maxDelayMs = int(input("Maximum delay between clicks (ms)?"))
clickType = input("1 or 2 clicks?")
numClicks = input("Number of clicks?")

minDelaySec = minDelayMs / 1000
maxDelaySec = maxDelayMs / 1000

print("Min delay (seconds): " + str(minDelaySec))
print("Max delay (seconds): " + str(maxDelaySec))

totalTime = 0
totalClicks = 0

print("10 second delay until start...")
time.sleep(10)
print("Starting")

for x in range(int(numClicks)):
    auto_click(minDelayMs, minDelayMs, clickType)


def auto_click(minDelayMs, maxDelayMs, clickType):
    global totalTime
    global totalClicks

    #get next delay in ms
    delay = random.randint(minDelayMs, maxDelayMs)
    totalTime = totalTime + delay
    print("Next delay in ms: " + str(delay))

    # sleep for the delay in sec
    time.sleep(delay/1000)

    if(clickType == 1):
        single_click()

    if(clickType == 2):
        double_click()

    totalClicks += 1
    clicksRemaining = int(numClicks) - totalClicks
    print("Clicks remaining: " + str(clicksRemaining) + "\n")
    return


def single_click():
    mouse.press(Button.left)
    time.sleep(0.5)
    mouse.release(Button.left)
    time.sleep(0.5)
    print("Click cycle")
    return


def double_click():
    mouse.press(Button.left)
    time.sleep(0.5)
    mouse.release(Button.left)
    print("Click cycle")
    time.sleep(0.5)
    mouse.press(Button.left)
    time.sleep(0.5)
    mouse.release(Button.left)
    print("Click cycle")
    return

Tags: inputtimebuttonsleepleftmsintclick