p ython用turtle画七巧板拼的小帆船
时间: 2023-07-30 09:09:15 浏览: 162
好的,让我来为您解答。首先,我们需要了解七巧板和小帆船的形状。七巧板是由7个不同形状(5个三角形,1个正方形和1个菱形)的小板块拼成的,而小帆船则是由一些三角形和矩形组成的。
下面是使用Python的turtle库绘制七巧板拼的小帆船的代码示例:
```python
import turtle
# 定义七巧板的各个小块的形状和颜色
shapes = [
[(0, 0), (0, 100), (100, 0)], # 红色三角形
[(0, 0), (100, 0), (100, -100)], # 橙色三角形
[(0, 0), (100, 0), (50, -100)], # 黄色三角形
[(0, 0), (50, -50), (100, 0)], # 绿色三角形
[(0, 0), (50, -50), (50, -100)], # 蓝色三角形
[(0, 0), (50, -50), (100, -50)], # 紫色三角形
[(0, 0), (50, -50), (100, -100), (0, -100)] # 黑色菱形
]
colors = ["red", "orange", "yellow", "green", "blue", "purple", "black"]
# 绘制七巧板
def draw_tangram():
turtle.speed(0)
turtle.penup()
turtle.goto(-200, 100)
turtle.pendown()
for i in range(7):
turtle.fillcolor(colors[i])
turtle.begin_fill()
for j in range(len(shapes[i])):
x, y = shapes[i][j]
turtle.goto(x-200, y+100)
turtle.end_fill()
turtle.hideturtle()
# 绘制小帆船
def draw_boat():
turtle.speed(0)
turtle.penup()
turtle.goto(100, -100)
turtle.pendown()
turtle.fillcolor("brown")
turtle.begin_fill()
turtle.goto(200, -100)
turtle.goto(200, -150)
turtle.goto(100, -150)
turtle.end_fill()
turtle.fillcolor("white")
turtle.begin_fill()
turtle.goto(100, -100)
turtle.goto(150, -50)
turtle.goto(150, -150)
turtle.goto(100, -150)
turtle.end_fill()
turtle.hideturtle()
# 主程序
if __name__ == "__main__":
turtle.setup(500, 500)
draw_tangram()
draw_boat()
turtle.done()
```
运行上述代码,将会绘制出一个由七巧板拼成的小帆船。