Python 为什么赢了';它不能画出科赫曲线吗
我不知道为什么它不能画出科赫曲线。我不久前才开始学习这门语言。我需要一些助手……希望你们知道这一点的人能帮我解决一些问题:Python 为什么赢了';它不能画出科赫曲线吗,python,turtle-graphics,Python,Turtle Graphics,我不知道为什么它不能画出科赫曲线。我不久前才开始学习这门语言。我需要一些助手……希望你们知道这一点的人能帮我解决一些问题: 当它应该是length/3,generation-1 因此,当生成时应该是3,2,1,0(暂停),而不是3,1.0,0.333,0.111,0.037,0.01234,0.00411,0.00137。。。它永远不会“等于”0,因此您的函数只会不断递归 在ttl.fd() ttl.lt(120)应该是ttl.rt(120) 您需要提供更多信息。它在干什么?你试过什么调试?P
- 当它应该是
length/3,generation-1
- 因此,当
应该是3,2,1,0(暂停),而不是3,1.0,0.333,0.111,0.037,0.01234,0.00411,0.00137。。。它永远不会“等于”0,因此您的函数只会不断递归生成时
- 在
ttl.fd()
应该是ttl.lt(120)
ttl.rt(120)
import turtle
import random
screen = turtle.Screen()
X = 400
Y = 400
screen.setup(X, Y)
def drawKoch(ttl, length, generation):
if (generation == 0 ):
ttl.fd(generation)
return
else:
drawKoch(ttl, length - 1, generation / 3)
ttl.lt(60)
drawKoch(ttl, length - 1, generation / 3)
ttl.lt(120)
drawKoch(ttl, length - 1, generation / 3)
ttl.lt(60)
drawKoch(ttl, length - 1, generation / 3)
turtle.clearscreen()
screen.reset()
screen.screensize(X, Y)
ttl = turtle.Turtle()
ttl.speed(10)
ttl.penup()
ttl.setposition(-X/2 + 10, -Y/2 + 50)
ttl.pendown()
sides = 3
gens = 3
length = 300
angle = ((sides - 2) * 180) / sides
for i in range(sides):
drawKoch(ttl, length, gens)
ttl.left(180-angle)