用Python+turtle绘制了一颗圣诞树后,朋友圈被霸屏了

马上又要到一年一度的圣诞节了,朋友圈已经快要被圣诞树霸屏了。今天也来给大家分享一下圣诞树的绘制代码吧,需要的也可以拿去朋友圈炫耀了。

 实现步骤

首先,安装Python环境,根据电脑版本系统位数下载对应的Python安装包即可,这里不详细展开了。

第二步,安装一个Python编译器,这里用的是pycharm

最后,用pycharm来编辑代码,先创建一个project,在project下创建一个Python file ,文件建议使用英文命名。创建成功后,复制代码-右键-运行(run),就可以运行实现下图的效果了。

完整代码整理了文件,需要可免费获取

图片效果:

 代码如下:

# -*- 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(-200,200)
my_word = ("Merry Christmas")
t.write(my_word,font=("Edwardian Script ITC",40,"bold"))
time.sleep(0.3)
t.goto(-100,50)
my_word = ("and")
t.write(my_word,font=("Edwardian Script ITC",50,"bold"))
time.sleep(0.3)
t.goto(-150,-100)
my_word = ("Happy New Year")
t.write(my_word,font=("Edwardian Script ITC",40,"bold"))

time.sleep(0.3)
t.clear()
w.screensize(bg='black')
t.goto(-200,0)
my_word = ("Prudued by: ZiRan")
t.write(my_word,font=("Edwardian Script ITC",45,"bold"))
t.goto(0,-100)
my_word = ("Dec. 24th, 2021")
t.write(my_word,font=("Edwardian Script ITC",20,"bold"))

time.sleep(5)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值