用python七巧板模型拼图形_python之“七巧板”

from turtle import *len=200坐标=[]defwritestr(a):
write(a, False,"left", ("Arial", 10, "normal"))def平行四边形(x,y):
坐标.clear()
penup()
goto(x,y)
writestr(1)
坐标.append([xcor(),ycor()])
pendown()
begin_fill()
forward(len/2)
writestr(2)
坐标.append([xcor(),ycor()])
right(45)
forward(len/2*1.414/2)
writestr(3)
坐标.append([xcor(),ycor()])
right(135)
forward(len/2)
writestr(4)
【用python七巧板模型拼图形_python之“七巧板”】坐标.append([xcor(),ycor()])
right(45)
forward(len/2*1.414/2)
right(135)
end_fill()def正方形(x,y):
begin_fill()
坐标.clear()
penup()
goto(x, y)
writestr(1)
坐标.append([xcor(), ycor()])
pendown()
forward(len/2/1.414)
writestr(2)
坐标.append([xcor(), ycor()])
left(90)
forward(len/2/1.414)
writestr(3)
坐标.append([xcor(), ycor()])
left(90)
forward(len/2/1.414)
writestr(4)
坐标.append([xcor(), ycor()])
left(90)
forward(len/2/1.414)
end_fill()def大三角形(x,y):
begin_fill()
坐标.clear()
penup()
goto(x, y)
writestr(1)
坐标.append([xcor(), ycor()])
pendown()
forward(len/1.414)
writestr(2)
坐标.append([xcor(), ycor()])
left(135)
forward(len)
writestr(3)
坐标.append([xcor(), ycor()])
left(135)
forward(len/1.414)
left(90)
end_fill()def中三角形(x,y):
begin_fill()
坐标.clear()
penup()
goto(x, y)
writestr(1)
坐标.append([xcor(), ycor()])
pendown()
forward(len/2)
writestr(2)
坐标.append([xcor(), ycor()])
left(135)
forward(len/2*1.414)
writestr(3)
坐标.append([xcor(), ycor()])
left(135)
forward(len/2)
left(90)
end_fill()def小三角形(x,y):
begin_fill()
坐标.clear()
penup()
goto(x, y)
writestr(1)
坐标.append([xcor(), ycor()])
pendown()
forward(len/2/1.414)
writestr(2)
坐标.append([xcor(), ycor()])
left(135)
forward(len/2)
writestr(3)
坐标.append([xcor(), ycor()])
left(135)
forward(len/2/1.414)
left(90)
end_fill()
color("blue")
平行四边形(-100,-100)
color("red")
setheading(-45)
正方形(坐标[1][0],坐标[1][1])
color("orange")
setheading(-45)
大三角形(坐标[3][0],坐标[3][1])
紫色x=坐标[1][0]-abs(坐标[1][0]-坐标[0][0])*1/4紫色y=坐标[1][1]+abs(坐标[0][1]-坐标[1][1])*1/4-len/2color("yellow")
setheading(-90)
大三角形(坐标[2][0],坐标[2][1])
绿色x=坐标[2][0]-abs(坐标[2][0]-坐标[0][0])*1/4绿色y=坐标[0][1]
棕色x=(坐标[1][0]+坐标[2][0])/2棕色y=(坐标[1][1]+坐标[2][1])/2color("purple")
setheading(0)
中三角形(紫色x,紫色y)
color("green")
setheading(0)
小三角形(绿色x,绿色y)
color("brown")
setheading(-45)
小三角形(棕色x,棕色y)
mainloop()

    推荐阅读