我创建 Mandelbrot 集的程序有一个错误:每当笔改变颜色时,之后每 42 个像素都会变亮。巧合的是,这是一个曼德尔虫(是的,我刚刚学会了这个术语),因为它对于“边缘”附近的许多像素是不一致的(它实际上可能在它应该是的颜色和最后的颜色之间模糊,或者接下来,像素应该是),但它始终是该像素之后的第 42 个像素,直到下一次颜色变化。我正在使用 OSX 10.6.8、PYTHON 2.7。当我在学校编写这个程序时,它运行良好(Windows),然后我将它发送给自己,并对其进行了更多工作(主要只是使样本大小和图像更大),然后运行它,我得到了这个漏洞。编辑:我的错,我忘了提到这只发生在我的 Mandelbrot 程序中,
部分截图(这样您就不必在程序运行时一直等待才能看到我在说什么):
从我在家的第一个版本:
从当前版本(横向):
继承人的代码:
import turtle
import math
turtle.speed(0)
def benoit(onelen):
turtle.left(90)
for x in range(-2*onelen, onelen):
turtle.up()
turtle.goto(x, int(-1.5*onelen)-1)
turtle.down()
for y in range(int(-1.5*onelen)-1, int(1.5*onelen)-1):
z = complex(0,0)
c = complex(x*1.0/onelen,y*1.0/onelen)
for k in range(20):
z = z*z+c
if abs(z) > 2:
g = .2 + .8*(20-k)/20
break
if k == 19:
g = 0
turtle.pencolor(0,g,0)
turtle.forward(1)
benoit(250)
x = raw_input("Press Enter to Exityadayadayada")
编辑:DSM 建议修复,他喜欢这个错误。但是,我没有编辑 Python 源代码的经验,所有的下划线都让我感到紧张。有人可以具体告诉我要编辑什么和/或如何编辑吗?