我们尝试用turtle库绘制两个折叠的菱形
具体如下所示:
具体代码如下:
#导入海龟库,time时间库,math数学相关库
from turtle import *
import time
import math
#创建画菱形的方法,传递三个形式参数:颜色,边长,画笔旋转角度
def draw_rh(fill_color,len_side,angle):
#设置绘制的颜色和填充颜色,fill_color是颜色
color(fill_color,fill_color)
#设置速度
speed(3)
#获取菱形最左侧点的坐标,len_side是外层菱形边长
#sqrt是数学中开平方方法
a = math.sqrt((len_side**2)/2)
# 抬起笔(画笔抬起可以不显示轨迹)
# 抬起笔和放下笔,这样进行的操作不会留下痕迹(填充颜色后会显示)
penup()
#移动到(-a,0)的位置
goto(-a,0)
#放下笔
pendown()
#开始填充位置
begin_fill()
#right是顺时针旋转画笔角度,angle是指角度
right(angle)
#循环四次,一共需要画4条边
for _ in range(4):
# 前进len_side像素
forward(len_side)
#right是顺时针旋转画笔角度
right(90)
#结束填充位置
end_fill()
#休眠1秒
time.sleep(1)
#调用方法,传递实际参数,画外层菱形
draw_rh('orangered',150,-45)
#调用方法,传递实际参数,画内层菱形
draw_rh('orange',100,0)
#最后隐藏画笔的图标
hideturtle()
mainloop()
注释比代码还多,可以参考!