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

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

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


实现步骤


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


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


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


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


图片效果:


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


代码如下:


# -*- 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)

想要完整代码的小伙伴

帮忙点赞+转发后

私信小编"666"就可以获取

展开阅读全文

页面更新:2024-05-15

标签:圣诞树   朋友圈   树冠   画布   英文   编译器   源码   完整   效果   代码   文件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top