最近在对turtle库比较感兴趣,一番研究之后,用turtle画出一幅雪景图,纯原创,拿走望3连。
下一篇文章会讲解turtle库的相关函数以及功能实现原理。
话不多说,上代码:
#雪花绘制
import turtle as t
import random as r
t.speed(0.01)
def drawsnow():
for i in range(200):
t.pensize(1)
t.pencolor("white")
t.penup()
t.setx(r.randint(-400,400))
t.sety(r.randint(-100,300))
t.pendown()
size = r.randint(12,15)
dens = r.randint(12,20)
for j in range(dens):
t.fd(size)
t.right(150)
def drawgound():
t.penup()
t.goto(-400, -150)
t.pendown()
t.color("white","tan")
t.begin_fill()
t.goto(400,-125)
t.right(90)
t.fd(200)
t.right(90)
t.fd(800)
t.right(90)
t.fd(150)
t.end_fill()
t.right(90)
for i in range(800):
t.penup()
x = r.randint(-400,400)
y = r.randint(-350,-120)
t.goto(x,y)
t.pendown()
t.pensize(r.randint(8,12))
t.fd(r.randint(40,80))
t.color("white")
def drawsun():
t.penup()
t.goto(-350,250)
t.pendown()
for i in range(24):
t.fd(80)
t.right(150)
t.color("white","yellow")
t.begin_fill()
t.penup()
t.goto(-310,220)
t.pendown()
t.circle(20,360)
t.end_fill()
def drawperson():
t.penup()
t.goto(-200,-130)
t.pendown()
t.color("white","white")
t.begin_fill()
t.circle(50,360)
t.goto(-200,-30)
t.circle(30,360)
t.end_fill()
t.penup()
t.goto(-210,10)
t.pendown()
t.color("white","black")
t.begin_fill()
t.circle(3,360)
t.goto(-190,10)
t.circle(3,360)
t.end_fill()
t.colormode(255)
t.pencolor(237,145,33)
t.penup()
t.goto(-200,-5)
t.pendown()
t.pensize(7)
t.goto((-195,8))
t.penup()
t.color("white")
t.goto(-200,-30)
t.pendown()
t.pensize(28)
t.goto(-275,-70)
t.goto(-200,-30)
t.goto(-125,-70)
t.goto(-220,-30)
t.pencolor("lightpink")
t.pensize(20)
t.fd(35)
t.backward(30)
t.goto(-205,-55)
def main():
t.bgcolor("lightblue")
drawperson()
drawgound()
drawsun()
drawsnow()
t.done()
t.tracer(True)
main()
效果图如下: