【发布时间】:2014-09-26 16:34:43
【问题描述】:
在下面的代码中,绘制的第二个框被弄乱了。这几乎就像线条不是笔直地向上和向下绘制的,而是以一个微小的角度绘制的。我已经尝试制作示例 MCVE。
import turtle, os
turtle.speed(0)
iOneAndHalve = 1.5 # Increasing to 1.501 makes a big difference
Q = 0
iSize = 80
def box(x):
for i in xrange(x):
turtle.forward(i+1)
turtle.left(90)
global Q
Q = i
box(iSize)
turtle.up()
turtle.forward(iOneAndHalve*Q) # <----------
turtle.down()
box(iSize)
os.system("pause")
如果我将iOneAndHalve 设置为1.501 而不是1.5,问题就解决了。盒子的大小(因此Q 似乎没有区别)。
我不知道为什么这样做会奏效,而且这闻起来像是一种廉价的修复方法。
是什么导致了这种(不稳定的)行为,我应该如何正确解决这个问题?
注意:我意识到编码的风格是不合标准的。恐怕这是 MCVE 的结果。
【问题讨论】:
-
“盒子的大小(以及 Q)似乎没有影响。” 您还尝试过哪些其他尺寸?只要我为
iSize使用奇数,结果对我来说看起来还不错。 -
@Kevin 你是对的。在原始代码中,还有一个距离为
.5*Q的转发,这可能导致了其他错误。
标签: python-2.7 turtle-graphics