首页 > 解决方案 > Python Turtle 如何编程让它自动下降?

问题描述

我必须编写一个绘制三角形的函数。我设法很好地绘制了彼此相邻的三角形,但是我无法以三角形彼此下方的方式对其进行编程。或者至少不会自动运行。
我是这样做的:

import turtle
otto = turtle.Turtle()

def triangle(t, l): 
    t.color("cadetblue")
    t.begin_fill() 
    for i in range(3):
        t.fd(l)
        t.lt(360/3)
    t.end_fill() 

def pile_triangle (t,l):
    for i in range(1):
        triangle(t, l)
        t.penup()
        t.goto(0,-70)
        t.pendown()
    for i in range(1):  
        triangle(t, l) 
        t.penup()
        t.goto(0,-140)
        t.pendown()
    for i in range(1): 
        triangle(t, l) 
        t.penup()
        t.goto(0,-210)
        t.pendown()
    for i in range(1):  
        triangle(t, l) 


otto = turtle.Turtle()
pile_triangle(otto, 80)


turtle.mainloop()
turtle.bye()

因此,如您所见,当 l 的值增加时,会出现间隙或三角形重叠。可以做不同的事情吗?所以它绘制了四个三角形并匹配长度 l?

标签: pythontrigonometryturtle-graphics

解决方案


这是你想要的吗?

import turtle
def triangle(t,l): 
    t.color("cadetblue")
    t.begin_fill() 
    t.lt(360/6)
    for i in range(3):
        t.lt(-360/3)
        t.fd(l)
    t.end_fill()
    t.penup()
    t.lt(-360/3)
    t.fd(l)
    t.lt(-360/3)
    t.fd(l/2)
    t.lt(180)
otto = turtle.Turtle()
for i in range(3):
    triangle(otto,50)

推荐阅读