怎么用python画圣诞树
发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,这篇文章主要介绍了怎么用python画圣诞树,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何用python画一个圣诞树呢?Turtl
千家信息网最后更新 2025年02月09日怎么用python画圣诞树
这篇文章主要介绍了怎么用python画圣诞树,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
如何用python画一个圣诞树呢?
Turtle库来画圣诞树。
1.方块圣诞树
import turtlescreen = 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 = 0for 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 += 3if 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()
2.线条圣诞树
import turtle# 定义圣诞树的绿叶函数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)
3.豪华圣诞树
import turtle as t #as就是取个别名,后续调用的t都是turtlefrom turtle import *import random as rimport time n = 100.0 speed("fastest") #定义速度screensize(bg='black') #定义背景颜色,可以自己换颜色left(90)forward(3*n)color("orange", "yellow")#定义最上端星星的颜色,外圈是orange,内部是yellowbegin_fill()left(126) for i in range(5): #画五角星 forward(n/5) right(144) #五角星的角度 forward(n/5) left(72) #继续换角度end_fill()right(126) def drawlight():#定义画彩灯的方法 if r.randint(0, 30) == 0:#如果觉得彩灯太多,可以把取值范围加大一些,对应的灯就会少一些 color('tomato')#定义第一种颜色 circle(6)#定义彩灯大小 elif r.randint(0,30) == 1: color('orange')#定义第二种颜色 circle(3)#定义彩灯大小 else: color('dark green')#其余的随机数情况下画空的树枝 color("dark green")#定义树枝的颜色backward(n*4.8)def tree(d, s):#开始画树 if d <= 0: return forward(s) tree(d-1, s*.8) right(120) tree(d-3, s*.5) drawlight()#同时调用小彩灯的方法 right(120) tree(d-3, s*.5) right(120) backward(s)tree(15, n)backward(n/2) for i in range(200):#循环画最底端的小装饰 a = 200 - 400 * r.random() b = 10 - 20 * r.random() up() forward(b) left(90) forward(a) down() if r.randint(0, 1) == 0: color('tomato') else: color('wheat') circle(2) up() backward(a) right(90) backward(b) t.color("dark red","red")#定义字体颜色t.write("Merry Christmas",align ="center",font=("Comic Sans MS",40,"bold"))#定义文字、位置、字体、大小 def drawsnow():#定义画雪花的方法 t.ht() #隐藏笔头,ht=hideturtle t.pensize(2) #定义笔头大小 for i in range(200): #画多少雪花 t.pencolor("white") #定义画笔颜色为白色,其实就是雪花为白色 t.pu() #提笔,pu=penup t.setx(r.randint(-350,350)) #定义x坐标,随机从-350到350之间选择 t.sety(r.randint(-100,350)) #定义y坐标,注意雪花一般在地上不会落下,所以不会从太小的纵座轴开始 t.pd() #落笔,pd=pendown dens = 6 #雪花瓣数设为6 snowsize = r.randint(1,10) #定义雪花大小 for j in range(dens): #就是6,那就是画5次,也就是一个雪花五角星 #t.forward(int(snowsize)) #int()取整数 t.fd(int(snowsize)) t.backward(int(snowsize)) #t.bd(int(snowsize)) #注意没有bd=backward,但有fd=forward,小bug t.right(int(360/dens)) #转动角度 drawsnow()#调用画雪花的方法t.done() # 完成,否则会直接关闭
感谢你能够认真阅读完这篇文章,希望小编分享的"怎么用python画圣诞树"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
圣诞树
颜色
雪花
大小
彩灯
就是
方法
篇文章
五角星
角度
速度
五角
函数
同时
坐标
字体
树枝
白色
笔头
豪华
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
抖音有云服务器吗
属于无线网络技术
油条服务器
东方国信数据库通过华为认证
网络安全 主题活动
网络安全审查办法多少个工作日
测量一台服务器的功耗
java服务器有哪些
数据软件开发就业方向
sql数据库数据删除恢复
楚天易安软件开发
教育网络安全宣传工作会
如何在sql中编写数据库
数据库url存储
双倍攻击数据库设置
重庆国家网络安全周
大话西游第二季服务器联赛
锐捷网络技术支持面试
河南刷脸软件开发有限公司
高速路服务器垮塌视频
怎么修改数据库中字段的索引
中学生网络安全公开课
人工智能网络安全算法模型
郑州金得erp软件开发
软件开发平台公司前10名
北京在线内训软件开发
网络安全学试题及答案
斗罗大陆服务器手机版怎么下载
现实生活中有网络安全比赛吗
黑龙江省软件开发