如何将条件设置为 True?
How to set condition to True?
我创建了一个程序,它使用 pyautogui 来定位存储在目录中的图像,并在找到它时单击它。所以当它看到 'Microsoft Edge' 时,它会立即点击它。我在循环中有这个 运行 并且想在找到图像时停止循环。这对我来说真的很重要——但我希望循环在点击它之前就停止,所以当 'double' 为 False 时,如下所示。
这里是:
import pyautogui as p
import time
import random
import os
import pygame
from hashlib import sha256
def search(query):
p.hotkey("ctrl","e")
time.sleep(.1)
p.write(query)
p.press("enter")
time.sleep(.67)
def imageFind(image,g,double):
a = 0
b = 0
while(a==0 and b==0):
try:
a,b = p.locateCenterOnScreen(image,grayscale=g)
except TypeError:
pass
if double == True:
p.doubleClick(a,b)
else:
p.click(a,b)
return a,b
#p.hotkey("win","d")
counter = 1
while counter == 1:
image_find = imageFind("Edge.png",False,False)
if image_find == True:
imageFind("Edge.png",False,True)
counter = 0
我已经完成了 if image_find == True
,但随着循环的继续,它不起作用。
那么我该如何编写代码,以便在找到图像时停止。如何确认它找到的是 True 语句?
imageFind
不是 return 单个布尔值,而是 return 一个元组。您的 True
条件是 a
和 b
都非零,因此请将 if image_find == True:
更改为 if all(image_find):
all()
returns True
仅当所有值都是 True
或非零时
或者尝试检查最小值是否为非零:
if min(image_find):
我创建了一个程序,它使用 pyautogui 来定位存储在目录中的图像,并在找到它时单击它。所以当它看到 'Microsoft Edge' 时,它会立即点击它。我在循环中有这个 运行 并且想在找到图像时停止循环。这对我来说真的很重要——但我希望循环在点击它之前就停止,所以当 'double' 为 False 时,如下所示。
这里是:
import pyautogui as p
import time
import random
import os
import pygame
from hashlib import sha256
def search(query):
p.hotkey("ctrl","e")
time.sleep(.1)
p.write(query)
p.press("enter")
time.sleep(.67)
def imageFind(image,g,double):
a = 0
b = 0
while(a==0 and b==0):
try:
a,b = p.locateCenterOnScreen(image,grayscale=g)
except TypeError:
pass
if double == True:
p.doubleClick(a,b)
else:
p.click(a,b)
return a,b
#p.hotkey("win","d")
counter = 1
while counter == 1:
image_find = imageFind("Edge.png",False,False)
if image_find == True:
imageFind("Edge.png",False,True)
counter = 0
我已经完成了 if image_find == True
,但随着循环的继续,它不起作用。
那么我该如何编写代码,以便在找到图像时停止。如何确认它找到的是 True 语句?
imageFind
不是 return 单个布尔值,而是 return 一个元组。您的 True
条件是 a
和 b
都非零,因此请将 if image_find == True:
更改为 if all(image_find):
all()
returns True
仅当所有值都是 True
或非零时
或者尝试检查最小值是否为非零:
if min(image_find):