python中怎么用turtle库绘画圣诞树
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要讲解了"python中怎么用turtle库绘画圣诞树",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python中怎么用turtle库绘画圣
千家信息网最后更新 2024年11月23日python中怎么用turtle库绘画圣诞树
这篇文章主要讲解了"python中怎么用turtle库绘画圣诞树",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python中怎么用turtle库绘画圣诞树"吧!
画出来的图形如图:
一、Turtle是什么?
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
二、使用步骤
1.引入库
代码如下:
import turtle as t # as就是取个别名,后续调用的t都是turtlefrom turtle import *import random as r
2.turtle绘图的基础知识
(1) 画笔运动命令
(2) 画笔控制命令
(3) 全局控制命令
(4) 全局控制命令
三、圣诞树代码
代码如下:
# TangYiJia 2021/12/15import turtle as t # as就是取个别名,后续调用的t都是turtlefrom turtle import *import random as rn = 100.0speed(1000) # 定义速度pensize(5) # 画笔宽度screensize(800, 800, bg='black') # 定义背景颜色,可以自己换颜色left(90)forward(250) # 开始的高度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, 50) == 0: # 如果觉得彩灯太多,可以把取值范围加大一些,对应的灯就会少一些 color('tomato') # 定义第一种颜色 circle(3) # 定义彩灯大小 elif r.randint(0, 30) == 1: color('orange') # 定义第二种颜色 circle(4) # 定义彩灯大小 elif r.randint(0, 50) == 2: color('blue') # 定义第三种颜色 circle(2) # 定义彩灯大小 elif r.randint(0, 30) == 3: color('white') # 定义第四种颜色 circle(4) # 定义彩灯大小 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, 100)backward(50)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)def drawsnowman(n,m,a,b): # 画雪人 (n,m)是头和身子交点的坐标,a是头的大小,m是身体的大小 t.goto(n, m) t.pencolor("white") t.pensize(2) t.fillcolor("white") t.seth(0) t.begin_fill() t.circle(a) t.end_fill() t.seth(180) t.begin_fill() t.circle(b) t.end_fill() t.pencolor("black") t.fillcolor("black") t.penup() # 右眼睛 t.goto(n-a/4, m+a) t.seth(0) t.pendown() t.begin_fill() t.circle(2) t.end_fill() t.penup() # 左眼睛 t.goto(n+a/4, m+a) t.seth(0) t.pendown() t.begin_fill() t.circle(2) t.end_fill() t.penup() # 画嘴巴 t.goto(n, m+a/2) t.seth(0) t.pendown() t.fd(5) t.penup() # 画扣子 t.pencolor("red") t.fillcolor("red") t.goto(n, m-b/4) t.pendown() t.begin_fill() t.circle(2) t.end_fill() t.penup() t.pencolor("yellow") t.fillcolor("yellow") t.goto(n, m-b/2) t.pendown() t.begin_fill() t.circle(2) t.end_fill() t.penup() t.pencolor("orange") t.fillcolor("orange") t.goto(n, m-(3*b)/4) t.pendown() t.begin_fill() t.circle(2) t.end_fill()drawsnowman(-200, -200, 20, 30)drawsnowman(-250, -200, 30, 40)t.up()t.goto(100, 200)t.down()t.color("dark red", "red") # 定义字体颜色t.penup()t.write("小唐's Christmas Tree", font=("Comic Sans MS", 16, "bold")) # 定义文字、位置、字体、大小t.end_fill()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中怎么用turtle库绘画圣诞树"的内容了,经过本文的学习后,相信大家对python中怎么用turtle库绘画圣诞树这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
颜色
大小
彩灯
雪花
就是
圣诞树
坐标
绘画
命令
画笔
控制
五角星
代码
方法
角度
五角
学习
位置
全局
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
锐捷网络安全工程师
怎么判断是不是服务器断网
大数据和软件开发哪个简单
access数据库表名
网关和数据库都通为何服务器不通
国外的服务器安全吗
浙江华为服务器虚拟化操作服务器
各种列式数据库 优缺点
哈利波特魔法觉醒有那些服务器
数据库链表查询优化
生产数据库的优点
单选修改数据库的命令可以是
广西网站建设磐石网络安全
重庆互联网软件开发服务费
白色数据库
微商软件开发中心
数据库位标签多条件查询
惠普服务器维修价格清单
现代战舰服务器下载
软件开发公司开户
oracle查询远程数据库se
云电脑如何退出服务器
ps3 软件开发
软件开发企业属于什么性质
公众号软件开发服务方案
常州网络安全互动派奖平台
网络安全小广告词
无锡工程软件开发售后服务
政府网络安全专业就业前景
呈贡软件开发定制