【发布时间】:2021-10-01 23:18:55
【问题描述】:
我试图让它在每次循环运行时添加 1,但它保持相同的数字。每次看到红色都尝试做一个计数器。
from time import sleep
import pyautogui
streak = 0
r = 1
def color():
pix = pyautogui.pixel(500, 285)
red = pix[0]
print (red)
if red == 222:
x = streak + r
print (x)
while True:
color()
sleep(5)
【问题讨论】:
-
streak = streak + 1是在条纹上加 1 的正确方法。您的代码集streak = 0和r = 1并且这些值永远不会改变,所以当然streak + r的结果总是相同的。 -
streak从 0 开始,并且永远不会改变。r从 1 开始,并且永远不会改变。因此,streak + r永远不会产生除 1 之外的任何值。您需要实际更改其中一个变量,并且由于它必须存在于正在更改的函数之外,因此您需要一个global声明才能这样做。
标签: python variables counter pyautogui