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

请提取最小代码以再现您的问题并粘贴到此处。请提取最小代码以再现您的问题并粘贴到此处。