【发布时间】:2017-01-23 21:21:35
【问题描述】:
我正在尝试用绿色的小三角形制作谢尔宾斯基三角形。 但是我得到了错误的输出,如图所示。
有人可以帮我更正我的代码吗?
谢尔宾斯基三角形(黑色)如下所示。我的截图在代码下方。
import turtle
def draw_triangle(some_turtle):
#This for loop will create - Outer Triangle
some_turtle.color("green")
some_turtle.begin_fill()
for i in range(1,4):
some_turtle.forward(50)
some_turtle.left(120)
#This for loop will create - Inner Triangle
for j in range(1,4):
some_turtle.forward(25)
some_turtle.left(120)
some_turtle.end_fill()
def draw_art():
window = turtle.Screen()
window.bgcolor("white")
#Create the turtle Brad - Draws a Triangle
brad = turtle.Turtle()
brad.shape("arrow")
brad.color("green")
brad.speed(50)
#This for loop will create - Inner & Outer Triangle At 120 deg
for d in range(1,4):
brad.left(120)
#This for loop will create - Inner & Outer Triangle At distance 50
for c in range(1,5):
draw_triangle(brad)
brad.forward(50)
window.exitonclick()
draw_art()
【问题讨论】:
-
您需要缩小您的问题范围。修复代码不是一件好事。
-
我添加了另一个图像,输出应该看起来像那个图像
-
Serpinski 的三角形使用递归往往更容易绘制。
-
是的..我知道,但我想用递归方法来做,唯一的问题是如何在循环中使用颜色函数..
-
我添加了图片 3,它表明代码正在运行,我得到了三角形,但无法为它们着色