用 Python 画圣诞树的 N 种玩法

用 Python 画圣诞树的 N 种玩法_第1张图片

作者 | 写代码的明哥

来源 | Pyhton编程时光

马上就是圣诞节了,先提前祝大家圣诞快乐!

今天来给大家分享一波如何使用 Python 来画一颗圣诞节树,包含多种版本,从平民版到豪华版,像极了一个程度员从入门到高级秃头程序员的过程。

# 圣诞树 - 平民版

第一种比较简单,由最基本的图形(圆形和正方形)组合而成,有点 turtle 基础的人都能画。

用 Python 画圣诞树的 N 种玩法_第2张图片

代码如下

用 Python 画圣诞树的 N 种玩法_第3张图片

# 圣诞树 - 进阶版

上面的圣诞树,都是新手练习使用的,只能自娱自乐,不够真实,也不够高大上。

用线条重新设计,一笔一划来作图,慢工出细活嘛~

用 Python 画圣诞树的 N 种玩法_第4张图片

代码如下:

import turtle
import time


# 定义圣诞树的绿叶函数
def tree(d, s):
    if d <= 0:
        return
    turtle.forward(s)
    tree(d - 1, s * .8)
    turtle.right(120)
    tree(d - 3, s * .5)
    turtle.right(120)
    tree(d - 3, s * .5)
    turtle.right(120)
    turtle.backward(s)
n = 100
""" 设置绘图速度
'fastest' : 0
'fast'  : 10
'normal' : 6
'slow'  : 3
'slowest' : 1
"""
turtle.speed('fastest') # 设置速度


turtle.left(90)
turtle.forward(3 * n)
turtle.color("orange", "yellow")
turtle.left(126)


# turtle.begin_fill()
for i in range(5):
    turtle.forward(n / 5)
    turtle.right(144)
    turtle.forward(n / 5)
    turtle.left(72)
    turtle.end_fill()
turtle.right(126)
turtle.color("dark green")
turtle.backward(n * 4.8)


# 执行函数
tree(15, n)
turtle.backward(n / 5)
time.sleep(60)

# 圣诞树 - 豪华版

在进阶版的基础上,再稍作修改:

  • 白天变成黑夜

  • 挂点苹果上去

  • 漫天的雪花与圣诞更配噢

就非常好看啦,我的耳边已经开始响起 Jingle Bell 的旋律了哈哈

用 Python 画圣诞树的 N 种玩法_第5张图片

代码如下:

用 Python 画圣诞树的 N 种玩法_第6张图片

# 平安夜 - 平安果

文章发得比较早,毕竟明天才是圣诞节,今晚是平安夜,不来个红苹果说不过去~

用 Python 画圣诞树的 N 种玩法_第7张图片

代码如下:

import turtle
import time


turtle.setup(800, 800)
turtle.speed(5)
turtle.pensize(5)


# 先画一个圆,并填充为红色
turtle.begin_fill()
turtle.color("red")
turtle.circle(radius=150)
turtle.end_fill()


# 画苹果把儿
turtle.color("brown")
turtle.pu()
turtle.goto(-90, 200)
turtle.pd()
turtle.circle(180, 40)
turtle.pu()
turtle.seth(105)
turtle.goto(-20, 220)
turtle.pd()
turtle.circle(180, 50)
turtle.pd()


# 画左边叶子
turtle.begin_fill()
turtle.color("green")
turtle.circle(180, 50)
turtle.seth(-30)
turtle.circle(180, 55)
turtle.end_fill()


# 画右边叶子
turtle.begin_fill()
turtle.color("green")
turtle.seth(0)
turtle.circle(180, 50)
turtle.seth(-180)
turtle.circle(180, 50)
turtle.end_fill()
turtle.done()
time.sleep(10)

用 Python 画圣诞树的 N 种玩法_第8张图片

用 Python 画圣诞树的 N 种玩法_第9张图片

资讯

活体人脑细胞5分钟学会打游戏

资讯

谷歌发布RLDS,在强化学习生成

资讯

AI语言模型是否越大越好?

技术

从深度学习到深度森林方法

66f525edf56f0778640d169356e6dedb.png

分享

072af1d60fd31fbe9fd4c3f09e52d9dd.png

点收藏

f63ee7566d7b28082d2f76c42a1acdaf.png

点点赞

503dda144648d8e42bb3e36153039bf9.png

点在看

你可能感兴趣的:(python,编程语言,人工智能,go,机器学习)