python如何画3d圣诞树

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何画3d圣诞树相关的知识,希望对你有一定的参考价值。

参考技术A

以下是用 Python 语言编写的程序,用于画一棵圣诞树的图形:

# 导入 turtle 库
import turtle

# 设置画笔颜色为绿色
turtle.color('green')

# 设置线条宽度为 3
turtle.width(3)

# 循环三次
for i in range(3):

# 向前移动 100 像素
turtle.forward(100)

# 向右转 120 度
turtle.right(120)

# 设置画笔颜色为红色
turtle.color('red')

# 向前移动 50 像素
turtle.forward(50)

# 设置画笔颜色为黄色
turtle.color('yellow')

# 向前移动 50 像素
turtle.forward(50)

# 隐藏画笔
turtle.hideturtle()

# 等待用户点击屏幕
turtle.exitonclick()

运行这段程序后,会在屏幕上画出一棵圣诞树的图形。你可以通过修改程序中的参数,来调整圣诞树的形状、大小和颜色。

注意:为了使用 turtle 库,你需要先安装这个库。可以使用以下命令在命令行中安装 turtle 库:
pip install turtle

使用Python画圣诞树

1、示例一

脚本:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公众号:程序员二黑

height = 5
stars = 1
for i in range(height):
    print((' ' * (height - i)) + ('*' * stars))
    stars += 2
print((' ' * height) + '|')

运行效果:

2、示例二

脚本:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公众号:程序员二黑

import turtle
import time

screen = turtle.Screen()
screen.setup(375, 700)

circle = turtle.Turtle()
circle.shape('circle')
circle.color('red')
circle.speed('fastest')
circle.up()

square = turtle.Turtle()
square.shape('square')
square.color('green')
square.speed('fastest')
square.up()

circle.goto(0, 280)
circle.stamp()

k = 0
for i in range(1, 13):
    y = 30 * i
    for j in range(i - k):
        x = 30 * j
        square.goto(x, -y + 280)
        square.stamp()
        square.goto(-x, -y + 280)
        square.stamp()

    if i % 4 == 0:
        x = 30 * (j + 1)
        circle.color('red')
        circle.goto(-x, -y + 280)
        circle.stamp()
        circle.goto(x, -y + 280)
        circle.stamp()
        k += 3

    if i % 4 == 3:
        x = 30 * (j + 1)
        circle.color('yellow')
        circle.goto(-x, -y + 280)
        circle.stamp()
        circle.goto(x, -y + 280)
        circle.stamp()

square.color('brown')
for i in range(13, 17):
    y = 30 * i
    for j in range(2):
        x = 30 * j
        square.goto(x, -y + 280)
        square.stamp()
        square.goto(-x, -y + 280)
        square.stamp()

time.sleep(5)

运行效果:


3、示例三
脚本:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公众号:程序员二黑
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(5)

运行效果:


现在就有这么一个机会,我邀请你进入我们的软件测试学习交流群:642830685,备注“csdn”大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了!

最后也为大家准备了一份配套的学习资源,你能在 公众号:【程序员二黑】免费获取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

往期回顾:

在职阿里6年,一个29岁女软件测试工程师的心声

公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档…

腾讯二面:web测试问题被虐哭了,直到学长给了我这些知识点…

以上是关于python如何画3d圣诞树的主要内容,如果未能解决你的问题,请参考以下文章

用 Python 画圣诞树的 N 种玩法

如何用python画圣诞树(附圣诞树代码)

Python画圣诞树看多了,挑战用C语言画一个?圣诞快乐

Python画圣诞树看多了,挑战用C语言画一个?圣诞快乐

用Python画圣诞树

用Python,C++,Java画圣诞树