- 绘制心形图形
- 绘制边长200的正方形
- 绘制雪景图
- 绘制正方形螺旋线
- 绘制简单城市剪影
使用 turtle 库绘制轮廓颜色为红色(red)、填充颜色为粉红色(pink)的心形图形,效果如下图所示。阅读程序框架,补充横线处代码。
''' 使用 turtle 库绘制轮廓颜色为红色(red)、 填充颜色为粉红色(pink)的心形图形. ''' import turtle # 设置颜色 边缘红色 填充粉红 turtle.color('red','pink') # 在绘制要填充的形状之前调用。 turtle.begin_fill() # 左转135度 turtle.left(135) # 前进100 turtle.fd(100) # 右转180度 turtle.right(180) # 顺时针旋转180度,长度50 turtle.circle(50,-180) # 左转90度 turtle.left(90) # 顺时针旋转180度,长度50 turtle.circle(50,-180) # 右转180度 turtle.right(180) # 前进100 turtle.fd(100) # 在绘制要填充的形状之前调用 turtle.end_fill() # 隐藏画笔 turtle.hideturtle() # 结束 turtle.done()
使用 turtle 库的 turtle.fd() 函数和 turtle.seth() 函数绘制一个边长为 200 的正方形,效果如下图所示
In [1]: import turtle
d = 0
In [4]: for i in range(4):
# 向当前方向行进200像素
...: turtle.fd(200)
...: d = d+90
# 设置行进方向 d为角度
...: turtle.seth(d)
运行结果

绘制雪景图
# -*- coding: utf-8 -*- # SnowView.py import turtle import random def drawSnow(): '''绘制雪花效果''' # 隐藏画笔 turtle.hideturtle() # 设置画笔大小 turtle.pensize(2) # 绘制100朵雪花 for i in range(100): r, g, b = random.random(), random.random(),random.random() turtle.pencolor(r,g,b) turtle.penup() turtle.setx(random.randint(-350,350)) turtle.sety(random.randint(1,270)) turtle.pendown() dens = random.randint(8,12) snowsize = random.randint(10,14) for j in range(dens): turtle.forward(snowsize) turtle.backward(snowsize) turtle.right(360/dens) def drawGround(): '''绘制雪地效果''' # 隐藏画笔 turtle.hideturtle() # 绘制400个小横线 for i in range(400): # 设置画笔大小随机 turtle.pensize(random.randint(5,10)) # 位置坐标x y x = random.randint(-400,350) y = random.randint(-280,-1) r, g, b = -y/280, -y/280, -y/280 turtle.pencolor((r,g,b)) turtle.penup() turtle.goto(x,y) turtle.pendown() turtle.forward(random.randint(40,100)) '''第一步 构件图的背景''' # 设置窗体大小 turtle.setup(800,600,200,200) turtle.tracer(False) # 颜色为black turtle.bgcolor("black") drawSnow() drawGround() turtle.done()
运行结果

绘制正方形螺旋线
import turtle n = 0 for i in range(10): for j in [0,90,180,270]: turtle.seth(j) turtle.fd(n) n += 5
运行结果

绘制简单城市剪影
import turtle turtle.setup(800,300) turtle.penup() turtle.fd(-350) turtle.pendown() def DrawLine(size): for angle in [0,90,-90,-90,90]: turtle.left(angle) turtle.fd(size) for i in [20,30,40,50,40,30,20]: DrawLine(i) turtle.hideturtle() turtle.done()
运行结果
