python曲线的4路递归洪水填充
我尝试使用泛光填充算法来填充这条曲线的两种颜色之一,红色为1,蓝色为0。然而,当我尝试运行代码时,它表示,如果m[I][j]=1:不正确,则行的语法不正确。关于如何调试这个有什么建议吗?谢谢在此代码中,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)+
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
顺便说一句,它确实说了“语法错误”,所以你应该检查突出显示的行的语法。这是你调试的提示