我遇到了问题,我的代码无法正常工作。我想做的是让pyautogui
键入我想要键入的任何内容。因此,我没有键入pyautogui.typewrite("Something")
,而是尝试键入def
,而不是一百次键入say("Whatever I need")
。我收到的消息是这样的:
`say()` takes `0` positional arguments but 2 were given
这是我的代码:
import pyautogui
import time
import random
def say():
pyautogui.typewrite()
say((), 'I am smart')
顺便说一句,我不是那个^^
答案 0 :(得分:0)
在调用方法时,该方法将接受与方法定义后的括号中定义的参数一样多的参数。所以:
def say_hello(name):
print("Hello " + name)
在此示例中,参数称为name
,并且必须始终将其传递。如果仅调用say_hello()
而没有任何参数,则会出现错误。
以同样的方式,一个方法所接受的参数不能超过所定义的参数。由于say()
没有参数,因此不能有参数。
让say()
实际写下您想要的内容的唯一方法是:
def say(mystring):
pyautogui.typewrite(mystring)
say("I am smart")
答案 1 :(得分:0)
您可能想要
import pyautogui
import time
import random
def say(something):
pyautogui.typewrite(something, interval=0.1)
say('I am smart')
something
是一个变量,用作函数say()
的参数。