Функция ImageGrab.grab().load()
возвращает массив кортежей целых чисел .
Другими словами, каждый пиксель является кортежем, который выглядит следующим образом:
In [4]: im = ImageGrab.grab().load()
In [5]: im[0,0]
Out[5]: (24, 24, 25, 255)
, которые содержат значения (red,green,blue,alpha)
в типе int
.
Вы пытаетесь сравнить кортеж чисел со строкой location = '(255, 255, 255)'
.Это не удастся, потому что вы не можете сравнить строку (которая представляет собой массив символов) с числом.
Например,
In [12]: 2 == '2'
Out[12]: False
Я не буду решать вашу домашнюю работу длявам, но, может быть, это поможет:
In [14]: location = (255,255,255)
In [15]: color = (255,255,255,0)
In [16]: [color[i] == location[i] for i in range(3)]
Out[16]: [True, True, True]
In [17]: all([color[i] == location[i] for i in range(3)])
Out[17]: True