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自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
往期回顾:
以上是关于python如何画3d圣诞树的主要内容,如果未能解决你的问题,请参考以下文章