• 绘制心形图形
  • 绘制边长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()

运行结果

发表回复