python曲线的4路递归洪水填充

python曲线的4路递归洪水填充,python,python-2.7,python-3.x,flood-fill,Python,Python 2.7,Python 3.x,Flood Fill,我尝试使用泛光填充算法来填充这条曲线的两种颜色之一,红色为1,蓝色为0。然而,当我尝试运行代码时,它表示,如果m[I][j]=1:不正确,则行的语法不正确。关于如何调试这个有什么建议吗?谢谢在此代码中,m是我正在使用的矩阵,I和j是我的xy变量 from pylab import * m=zeroes((100,100)) for i in range(100): for j in range(100): m[i,j]=sin(i+j+0.1*i*j+0.1*j*j)+

我尝试使用泛光填充算法来填充这条曲线的两种颜色之一,红色为1,蓝色为0。然而,当我尝试运行代码时,它表示,如果m[I][j]=1:不正确,则行的语法不正确。关于如何调试这个有什么建议吗?谢谢在此代码中,
m
是我正在使用的矩阵,
I
j
是我的xy变量

from pylab import *
m=zeroes((100,100))

for i in range(100):
    for j in range(100):
        m[i,j]=sin(i+j+0.1*i*j+0.1*j*j)+cos(i-j+0.2*i*i)

n=m.copy()
n[n>0]=1
n[n<0]=0
imshow(n)

def floodfill (m,i,j):
    if m[i][j]=1: 
       m[i][j]=0

        if i>0:
            floodfill(matrix,i-1,j)
        if i < len(m[y]) - 1:
            floodfill(m, i+1, j)
        if j>0:   
            floodfill(m, i, j-1)

            floodfill(m, i, j-1)
从pylab导入*
m=零((100100))
对于范围(100)内的i:
对于范围(100)内的j:
m[i,j]=sin(i+j+0.1*i*j+0.1*j*j)+cos(i-j+0.2*i*i)
n=m.copy()
n[n>0]=1
n[n0:
漫灌(基质,i-1,j)
如果i0:
漫灌(m、i、j-1)
漫灌(m、i、j-1)

您没有发布确切的错误,但我可以告诉您这是不正确的:

m[i,j]=sin(i+j+0.1*i*j+0.1*j*j)+cos(i-j+0.2*i*i)

m[i,j]
不正确。
i,j
是一个元组,但列表索引(在
m[]
括号内的东西)只能是整数

您没有发布确切的错误,但我可以告诉您这是不正确的:

m[i,j]=sin(i+j+0.1*i*j+0.1*j*j)+cos(i-j+0.2*i*i)

m[i,j]
不正确。
i,j
是一个元组,但列表索引(在
m[]
括号内的东西)只能是整数

要使用
=
运算符而不是用于赋值表达式的单个
=
来比较值是否相等。因此,如果m[i][j]=1:如果m[i][j]==1,则带有


顺便说一句,它确实说了“语法错误”,所以你应该检查突出显示的行的语法。这是你调试的提示。

使用
=
操作符来比较值是否相等,而不是使用一个
=
作为赋值表达式。因此,如果m[i][j]=1,你应该将
替换为
如果m[i][j] ==1

顺便说一句,它确实说了“语法错误”,所以你应该检查突出显示的行的语法。这是你调试的提示