圣诞动图python
时间: 2023-12-06 22:38:04 浏览: 33
以下是用Python实现一个不断变大的圣诞老人的代码,需要使用turtle库和time库:
```python
import turtle
import time
# 设置画布大小和背景颜色
turtle.setup(800, 600)
turtle.bgcolor("red")
# 定义画笔
pen = turtle.Turtle()
pen.hideturtle()
pen.speed(0)
pen.pensize(5)
# 定义圣诞老人的头部
def draw_head():
pen.penup()
pen.goto(0, 100)
pen.pendown()
pen.begin_fill()
pen.circle(50)
pen.end_fill()
# 定义圣诞老人的身体
def draw_body():
pen.penup()
pen.goto(0, 0)
pen.pendown()
pen.begin_fill()
pen.circle(100)
pen.end_fill()
# 定义圣诞老人的帽子
def draw_hat():
pen.penup()
pen.goto(0, 150)
pen.pendown()
pen.begin_fill()
pen.color("white")
pen.circle(30)
pen.end_fill()
pen.begin_fill()
pen.goto(-30, 180)
pen.goto(30, 180)
pen.goto(0, 150)
pen.end_fill()
# 定义圣诞老人的眼睛
def draw_eyes():
pen.penup()
pen.goto(-20, 120)
pen.pendown()
pen.begin_fill()
pen.color("black")
pen.circle(5)
pen.end_fill()
pen.penup()
pen.goto(20, 120)
pen.pendown()
pen.begin_fill()
pen.circle(5)
pen.end_fill()
# 定义圣诞老人的鼻子
def draw_nose():
pen.penup()
pen.goto(0, 100)
pen.pendown()
pen.begin_fill()
pen.color("red")
pen.circle(10)
pen.end_fill()
# 定义圣诞老人的口袋
def draw_pocket():
pen.penup()
pen.goto(0, -50)
pen.pendown()
pen.begin_fill()
pen.color("white")
pen.circle(30)
pen.end_fill()
pen.penup()
pen.goto(0, -80)
pen.pendown()
pen.begin_fill()
pen.color("white")
pen.circle(20)
pen.end_fill()
# 定义圣诞老人的手
def draw_hands():
pen.penup()
pen.goto(-100, 0)
pen.pendown()
pen.begin_fill()
pen.color("white")
pen.circle(20)
pen.end_fill()
pen.penup()
pen.goto(100, 0)
pen.pendown()
pen.begin_fill()
pen.color("white")
pen.circle(20)
pen.end_fill()
# 定义圣诞老人的腰带
def draw_belt():
pen.penup()
pen.goto(-50, -20)
pen.pendown()
pen.begin_fill()
pen.color("black")
pen.goto(50, -20)
pen.goto(50, -40)
pen.goto(-50, -40)
pen.goto(-50, -20)
pen.end_fill()
# 定义圣诞老人的腰带扣子
def draw_buckle():
pen.penup()
pen.goto(-20, -30)
pen.pendown()
pen.begin_fill()
pen.color("gold")
pen.circle(10)
pen.end_fill()
# 定义圣诞老人的脚
def draw_feet():
pen.penup()
pen.goto(-50, -100)
pen.pendown()
pen.begin_fill()
pen.color("white")
pen.circle(20)
pen.end_fill()
pen.penup()
pen.goto(50, -100)
pen.pendown()
pen.begin_fill()
pen.color("white")
pen.circle(20)
pen.end_fill()
# 定义圣诞老人的变大动画
def santa_grow():
for i in range(1, 50):
pen.clear()
pen.pensize(5)
pen.shapesize(i)
draw_head()
draw_body()
draw_hat()
draw_eyes()
draw_nose()
draw_pocket()
draw_hands()
draw_belt()
draw_buckle()
draw_feet()
turtle.update()
time.sleep(0.05)
# 调用函数,开始画圣诞老人
santa_grow()
# 显示画布
turtle.done()
```