Python int和tuple连接中出错
我得到这个错误:Python int和tuple连接中出错,python,Python,我得到这个错误: TypeError: unsupported operand type(s) for +=: 'int' and 'tuple' Line 37 http://pastebin.com/LhMS9Xhx filter = [[1,1,1],[1,1,1],[1,1,1]] activefield = [[1,2,3],[4,5,6],[7,8,9]] newvalue = 0 newvalue+= filter[iii][jjj]*aktuellesFeld[iii][jj
TypeError: unsupported operand type(s) for +=: 'int' and 'tuple'
Line 37
http://pastebin.com/LhMS9Xhx
filter = [[1,1,1],[1,1,1],[1,1,1]]
activefield = [[1,2,3],[4,5,6],[7,8,9]]
newvalue = 0
newvalue+= filter[iii][jjj]*aktuellesFeld[iii][jjj]
你尝试将一个元组添加到一个int中。查看你的元组,提取你想要的值,然后将其添加到int中。你尝试将一个元组添加到int中。查看你的元组,提取你想要的值,然后将其添加到int中。这很简单:你不能将元组添加到int中。
Aktuelsfeld[iii][jj]
是一个元组,将其与int(filter[iii][jjj]
相乘,得到一个元组。然后将该元组添加到另一个int(neuerGrauwert
),这是一个TypeError
你的代码很难读懂。为什么要使用变量名,如
iii
或jjj
?另外,使用filter
作为变量名是一个坏主意,因为它是一个内置函数。这很简单:不能向int添加元组。aktuellesFeld[iii][jjj]
是一个元组,可以与int(filter[iii][jjj]
相乘,得到一个元组。然后将该元组添加到另一个int(neuerGrauwert
),这是一个TypeError
你的代码很难读懂。为什么要使用变量名,如iii
或jjj
?另外,使用过滤器作为变量名是个坏主意,因为它是一个内置函数。第37行是
neuerGrauwert += filter[iii][jjj]*aktuellesFeld[iii][jjj]
aktuellesFeld[iii][jjj]=im.getpixel(…)
是一个元组,例如:
In [8]: im.getpixel((125,125))
Out[8]: (11, 11, 11, 255)
乘以浮点数(如filter[iii][jjj]
)将连接元组的副本:
In [9]: 2*im.getpixel((125,125))
Out[9]: (11, 11, 11, 255, 11, 11, 11, 255)
但是,neuerGrauwert
是一个int
。您不能将元组添加到int
行37中
neuerGrauwert += filter[iii][jjj]*aktuellesFeld[iii][jjj]
aktuellesFeld[iii][jjj]=im.getpixel(…)
是一个元组,例如:
In [8]: im.getpixel((125,125))
Out[8]: (11, 11, 11, 255)
乘以浮点数(如filter[iii][jjj]
)将连接元组的副本:
In [9]: 2*im.getpixel((125,125))
Out[9]: (11, 11, 11, 255, 11, 11, 11, 255)
但是,neuerGrauwert
是一个int
。您不能将元组
添加到int
请提取最小代码以再现您的问题并粘贴到此处。请提取最小代码以再现您的问题并粘贴到此处。