Python圣诞树

运行环境

IDE工具
Python版本:3.9

# -*- coding: utf-8 -*-
import turtle as T
import random
import time

# 绘图区域
t = T.Turtle()
# 画布大小
w = T.Screen()
t.hideturtle()  # 隐藏画笔
t.getscreen().tracer(5, 0)
w.screensize(bg='maroon')
t.left(90)
t.up()
t.forward(280)
t.down()
t.pensize(3)

# 画五角星
n = 100
t.color("orange", "yellow")
t.begin_fill()
t.left(126)

for i in range(5):
    t.forward(n / 5)
    t.right(144)
    t.forward(n / 5)
    t.left(71)
t.end_fill()
t.left(60)
t.pensize(8)
t.forward(60)
t.right(20)
t.right(116)
t.pensize(6)

# 画树冠
t.color('dark green')
n = 130

for i in range(6):
    time.sleep(0.5)
    a = 1 + i / 2
    t.begin_fill()
    t.left(90)
    t.forward(n * a * 0.707)
    t.left(135)
    t.forward(n * a)
    t.left(135)
    t.forward(n * a * 0.707)
    t.end_fill()
    t.up()
    t.left(90)
    t.forward(n * a * 0.707 / 3)
    t.left(135)
    t.forward(n * a / 6)
    t.left(135)
    t.down()

# 画树干
t.up()
t.right(135)
t.forward(30)
t.right(90)
t.forward(157)
t.down()
t.color('saddlebrown')
t.begin_fill()
t.forward(80)
t.right(90)
t.forward(45)
t.right(90)
t.forward(80)
t.right(90)
t.forward(45)
t.end_fill()

t.up()
t.backward(45)
t.right(90)
t.backward(470)
t.down()


# 画灯
def light(l, t):
    t.pensize(3)
    colors = ["magenta", "darkorange", "red", "blue"]
    for i in range(l):
        time.sleep(0.2)
        b = 70 + 16 * i
        a = b / 2 * random.randint(-100, 100) / 100
        t.up()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.down()
        t.color("lightyellow", colors[i % 4])
        t.begin_fill()
        t.circle(10)
        t.end_fill()
        t.up()
        t.backward(a)
        t.right(90)
        t.backward(b)
        t.down()
    t.pensize(1)


# 画雪花
def snow(m, t):
    for i in range(m):
        a = 400 - 800 * random.random()
        b = 600 - 800 * random.random()
        t.up()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.down()
        t.color('white')
        t.begin_fill()
        t.circle(1)
        t.end_fill()
        t.up()
        t.backward(a)
        t.right(90)
        t.backward(b)

light(24, t)
snow(600, t)

# 文字
t.goto(-150, 350)
my_word = ("Merry Christmas")
t.write(my_word, font=("Edwardian Script ITC", 45, "bold"))
time.sleep(1)

t.goto(-300, -275)
my_word = ("text1")
t.write(my_word, font=("Edwardian Script ITC", 30, "bold"))
time.sleep(1)
t.goto(-300, -325)
my_word = ("text2")
t.write(my_word, font=("Edwardian Script ITC", 30, "bold"))
time.sleep(1)
t.goto(-300, -375)
my_word = ("text3")
t.write(my_word, font=("Edwardian Script ITC", 30, "bold"))
time.sleep(3)

t.clear()
w.screensize(bg='black')
t.goto(-100, 0)
my_word = ("text4")
t.write(my_word, font=("Edwardian Script ITC", 20, "bold"))
time.sleep(5)

t.clear()
w.screensize(bg='black')
t.goto(-200, 0)
my_word = ("Prudued by: name")
t.write(my_word, font=("Edwardian Script ITC", 20, "bold"))
t.goto(0, -100)
my_word = ("text5 ")
t.write(my_word, font=("Edwardian Script ITC", 25, "bold"))
time.sleep(3)

t.clear()
w.screensize(bg='black')
t.goto(-200, 0)
my_word = ("text6")
t.write(my_word, font=("Edwardian Script ITC", 25, "bold"))
time.sleep(5)
t.goto(-100, -100)
my_word = ("text7")
t.write(my_word, font=("Edwardian Script ITC", 25, "bold"))
time.sleep(6)
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北观止

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值