SyntaxError:Python3.6中“if”命令的语法无效(PyAutoGUI代码)

SyntaxError:Python3.6中“if”命令的语法无效(PyAutoGUI代码),python,python-3.x,bots,pyautogui,Python,Python 3.x,Bots,Pyautogui,我试图写一个小机器人程序,它可以识别一个图像,然后执行一个命令,如果该图像存在于屏幕上。这与PyAutoGUI密切相关。下面的附加代码给出了“if”命令的语法错误: loadingbattle = pyautogui.locateCenterOnScreen('/Users/devious/loading battle.png');\ if loadingbattle == (2294,1165): pyautogui.click(1513,75) if loadingbattle == (2

我试图写一个小机器人程序,它可以识别一个图像,然后执行一个命令,如果该图像存在于屏幕上。这与PyAutoGUI密切相关。下面的附加代码给出了“if”命令的语法错误:

loadingbattle = pyautogui.locateCenterOnScreen('/Users/devious/loading battle.png');\
if loadingbattle == (2294,1165): pyautogui.click(1513,75)
if loadingbattle == (2294,1165):                          
    pyautogui.click(1513,75) 

我是编程新手,所以我不确定这个问题,也不确定这是不是正确的编码方法。这只是一个开始,通过在识别图像后单击某个位置来查看代码是否工作,但是“if”命令上出现语法错误,我不知道为什么。我在网上看了一些教程,但似乎并没有解决我的问题。任何关于为什么会出现这种情况的建议,或者我如何编写这种想法的建议,我们都非常感谢。

在用Python编写代码时,缩进的要求是必要的。它迫使我们使用限定缩进进行编码。请参阅下面的代码:

if loadingbattle == (2294,1165):                          
    pyautogui.click(1513,75) 

真正的问题不是if语句本身,而是因为前面的语句。如果loadingbattle==22941165:pyautogui,则执行。如果在Python中非常好,则单击1513,75,但按自己的方式执行不起作用,则需要将其更改为:

if loadingbattle == (2294,1165):                          
    pyautogui.click(1513,75) 
loadingbattle = pyautogui.locateCenterOnScreen('/Users/devious/loading battle.png')
if loadingbattle == (2294,1165): pyautogui.click(1513,75)
通过消除这些障碍;和\,自

if loadingbattle == (2294,1165):                          
    pyautogui.click(1513,75) 
);这意味着它是行的结尾,不必在每一个换行处都包含它。相当于一个\n

if loadingbattle == (2294,1165):                          
    pyautogui.click(1513,75) 
\这意味着代码实际上将继续到下一行,以避免换行

if loadingbattle == (2294,1165):                          
    pyautogui.click(1513,75) 
因此,当Python解释器读取代码时,代码中实际发生的情况是:

if loadingbattle == (2294,1165):                          
    pyautogui.click(1513,75) 
loadingbattle = pyautogui.locateCenterOnScreen('/Users/devious/loading battle.png');if loadingbattle == (2294,1165): pyautogui.click(1513,75)
当你试着阅读时,它是绝对有意义的。因为您无法说出要将loadingbattle分配给什么,以及if块在哪里结束。这就是为什么缩进在python中很重要

if loadingbattle == (2294,1165):                          
    pyautogui.click(1513,75) 
通常,您希望这样写以清楚地显示缩进,但实际上这与您的情况无关,两者都可以正常工作:

if loadingbattle == (2294,1165):                          
    pyautogui.click(1513,75) 
loadingbattle = pyautogui.locateCenterOnScreen('/Users/devious/loading battle.png')
if loadingbattle == (2294,1165): 
    pyautogui.click(1513,75)

如果要使用一个行程序,请使用语句1 If condition else statement2remove\from loadingbattle=pyautogui.locatecenter屏幕“/Users/devious/loading battle.png”\我不确定代码应该做什么。。。。有什么意图吗?这就是问题所在。如果loadingbattle==22941165:-pyautogui.click1513,75@Don在python中,只要在第二行中只使用一条命令,就可以编写if bool:command,我想缩进一个选项卡,但不能键入>Hi,谢谢您的回答。但是如果我去掉“;”和“\”,它显示SyntaxError:在编译单个语句时发现多个语句。我无法重现您的问题,可能是更多的代码导致了问题?在每一行的末尾都有一个“\”?在我尝试执行它之前,我只有这两行代码,所以我不认为这是原因。似乎如果我不放一个“;”它认为在编译单个语句时会发现多个语句。下面是一个类似的示例,它具有相同的格式,并且可以工作,如果不适合您,我只能假设您的解释器有问题