【问题标题】:Exception has occurred: TypeError integer argument expected, got float发生异常:需要 TypeError 整数参数,得到浮点数
【发布时间】:2021-03-05 19:32:45
【问题描述】:

我试图让它点击随机坐标,但它给出了这个错误

发生异常:TypeError 整数参数需要,得到浮点数

代码:

import time
import random
import keyboard
import win32api, win32con

firstkey = input ('def first key =')
cordinate = random.uniform(391, 904)
cordinatetwo = random.uniform(158, 671)
h = 0

def click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
    time.sleep(0.01)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)

keyboard.wait(firstkey)
if keyboard.is_pressed(firstkey):
    while h < 25:
        click(cordinate,cordinatetwo)
        h += 1

我正在使用 VSC(我认为我的英语很糟糕)

【问题讨论】:

  • 虽然我可能对 win32api 了解不多,但我可以看出 random.uniform() 返回一个浮点数,并导致了您的问题。

标签: python keyboard pywin32


【解决方案1】:

我认为你需要改变

random.uniform(391, 904)random.randit(391, 904)cordinatetwo = random.uniform(158, 671)random.randint 也是如此。

uniform() 方法返回一个介于两者之间的随机浮点数 指定的数字(都包括在内)。

【讨论】:

    【解决方案2】:

    我相信你的错误是因为 random.uniform() 尝试将其更改为 randint()

    import time
    import random
    import keyboard
    import win32api, win32con
    from random import randint
    
    firstkey = input ('def first key =')
    cordinate = randint(391, 904)
    cordinatetwo = randint(158, 671)
    h = 0
    
    def click(x,y):
        win32api.SetCursorPos((x,y))
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
        time.sleep(0.01)
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
    
    keyboard.wait(firstkey)
    if keyboard.is_pressed(firstkey):
        while h < 25:
            click(cordinate,cordinatetwo)
            h += 1
    

    【讨论】:

      猜你喜欢
      • 2019-10-16
      • 2018-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多