Py学习  »  Python

对有效函数名python的未解析引用

user10623303 • 4 年前 • 770 次点击  

我对python还不太熟悉,但尽管我对其他语言有经验,但它的语法似乎让我更为困惑。

在下面的代码中,我在调用 autoclick 在for循环中,我不知道为什么。我想这可能和我的参数有关 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
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43326
 
770 次点击  
文章 [ 1 ]  |  最新文章 4 年前
grapes
Reply   •   1 楼
grapes    5 年前

在使用函数之前应该声明它。在全球范围内使用 for -在全局范围内执行的循环,这意味着立即执行。