用turtle画一个七巧板

雨啸青锋 发布于 2019-08-26 2085 次阅读


turtle海龟库是一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

七巧板中,各个边长可以用勾股定理求到
勾股定理公式 a²+b²=c²

 

from math import sqrt
from turtle import color
from turtle import begin_fill
from turtle import left
from turtle import forward
from turtle import end_fill
from turtle import right
from turtle import exitonclick
from turtle import hideturtle

a=300

color("red")  # ①
begin_fill()
left(45)
forward(a)
left(135)
forward(sqrt(2*a*a))
left(135)
forward(a)
end_fill()


color("blue")  # 2
begin_fill()
right(90)
forward(a)
right(135)
forward(sqrt(2*a*a))
right(135)
forward(a)
end_fill()

color("orange")
color("orange")  #3
begin_fill()
left(90)
forward(a)
right(135)
forward((sqrt(2*a*a))/2)
right(135)
forward(a/2)
end_fill()

color("#9400D3")#4
begin_fill()
for i in range(4):
    left(90)
    forward(a/2)
end_fill()
left(90)
forward(a/2)
end_fill()

color("#CD00CD")  # 5
begin_fill()
forward(a/2)
left(135)
forward((sqrt(2*a*a))/2)
left(135)
forward(a/2)
end_fill()
left(90)
forward(a/2)
end_fill()


color("yellow")  # 6
begin_fill()
forward(a/2)
left(135)
forward((sqrt(2*a*a))/2)
left(45)
forward(a/2)
end_fill()

color("green")  #7
begin_fill()
forward(a/2)
right(135)
forward((sqrt(2*a*a))/2)
right(90)
forward((sqrt(2*a*a))/2)
end_fill()
hideturtle()
exitonclick()
嘿,大家好,小名尧尧,网名雨啸青锋,00后的小站主,某校高中生
最后更新于 2019-11-16