python-turtle(海龟绘图)圣诞树

简介: 前言:1.在开始前需要引入turtle库,若没有下载这个库可以复制下面这条语句在PyCharm终端下载pip install turtle2.turtle库,它这个画笔是在这个窗口横轴x轴,纵轴y轴从原点(0,0)处开始,以函数指令使其移动绘图。正文:一:开始前引入所需的库# turtle as t 是将turtle替换为timport turtle as t# 随机库import random# 引入turtle库中的所有用法from turtle import *二:设置窗口属性和RGB颜色属性以及绘图数度# 设置窗口大小和背景颜色t.screensize(80

前言:

1.在开始前需要引入turtle库,若没有下载这个库可以复制下面这条语句在PyCharm终端下载


pip install turtle

2.turtle库,它这个画笔是在这个窗口横轴x轴,纵轴y轴从原点(0,0)处开始,以函数指令使其移动绘图。

正文:

一:开始前引入所需的库

# turtle as t 是将turtle替换为timportturtleast# 随机库importrandom# 引入turtle库中的所有用法fromturtleimport*

二:设置窗口属性和RGB颜色属性以及绘图数度

# 设置窗口大小和背景颜色t.screensize(800,700,'black')
# RGB默认范围是0~1,通过Screen().colormode设置成0~255Screen().colormode(255)
# 加快作图数度t.speed(speed='fastest')

三:画圣诞树

# 画树t.left(90)
t.forward(-300)
t.pensize(5)
# 设置画笔颜色t.color('green')
# 开始画树deftree(d, s):
ifd<=0:
returnforward(s)
tree(d-1, s*.8)
right(120)
tree(d-3, s*.5)
right(120)
tree(d-3, s*.5)
right(120)
backward(s)
# 调用画树函数tree(15,100)
backward(50)

四:画五角星

# 画五角星defxin():
t.right(90)
# 设置画笔尺寸t.pensize(3)
# t.circle(40)# 抬笔t.penup()
# 将画笔移动到该位置t.goto(-25,190)
# 落笔pendown()
# 开始填充t.begin_fill()
# 设置画笔颜色t.color('yellow')
# 画五角星,一共需要五笔foriinrange(5):
t.forward(55)
t.right(144)
# 结束填充t.end_fill()
# 调用画五角星函数xin()

五:画天上的星星

# 满天繁星# 用for循环画17颗星星foriinrange(17):
# 设置随机坐标x=random.randint(-400,400)
y=random.randint(240,330)
# 设置星星随机大小a=random.randint(5,12)
# 抬笔t.penup()
# 将画笔移动到随机位置t.goto(x,y)
# 落笔t.pendown()
t.pensize(5)
t.color('yellow')
t.begin_fill()
foriinrange(4):
t.forward(a)
t.left(30)
t.forward(a)
t.right(120)
# 每画完一颗星星将画笔方向向左改变30度,使星星看起来更加生动t.left(30)
t.end_fill()

六:画彩色气球

#彩色气球# 利用循环画20个气球foriinrange(20):
# 设置随机位置X=random.randint(-400,400)
Y=random.randint(-170,150)
# 抬笔t.penup()
# 将画笔位置移动到初始位置t.home()
# 将画笔移动到随机位置t.goto(X, Y)
# 设置RGB颜色范围red=random.randint(100,255)
green=random.randint(50,155)
blue=random.randint(100,255)
# 画笔尺寸t.pensize(2)
# 落笔t.pendown()
# 设置气球线颜色t.color('white')
t.left(90)
t.circle(80,15)
t.circle(-80,15)
t.right(90)
t.pensize(5)
# 利用RGB颜色设置气球颜色t.color(red,green,blue)
t.begin_fill()
t.circle(15)
t.end_fill()

七:画彩灯

# 彩灯deflight():
# 隐藏笔头,ht=hideturtlet.hideturtle()
# 利用for循环画100个彩灯foriinrange(100):
t.penup()
# 设置彩灯随机位置x=random.randint(-300,300)
y=random.randint(-350,-300)
# 设置RGB颜色red=random.randint(100,255)
green=random.randint(50,155)
blue=random.randint(100,255)
# 将画笔移动到随机位置t.goto(x,y)
t.pendown()
t.pensize(5)
t.color(red,green,blue)
t.begin_fill()
t.circle(10)
t.end_fill()
# 调用彩灯函数light()

八:画满天飞雪

# 雪花defdrawsnow():
# 隐藏笔头,ht=hideturtlet.hideturtle()
t.pensize(2)
foriinrange(200):
t.pencolor("white")
t.penup()
# 设置雪花随机位置坐标x=random.randint(-400,400)
y=random.randint(-250,300)
# 将画笔移动到随机位置t.goto(x,y)
t.pendown()
# 雪花花瓣数petal=6# 设置雪花随机大小snowsize=random.randint(1, 10)
# print(type(snowsize))forjinrange(petal):
t.forward(snowsize)
t.backward(snowsize)
# 转动角度t.right(int(360/petal))
# 调用雪花函数drawsnow()

九:画祝福话语

# 添加文字t.penup()
t.goto(-300,-250)
t.color('red')
t.pendown()
t.write('祝 刘晓云 Merry Christmas!',font=('Mistral',42,'bold italic'))

十:防止绘图完成后窗口秒关

# 防止绘图完成后窗口秒关t.done()

最后完整代码双手奉上!

importturtleast# 随机库importrandom# 引入turtle库中的所有用法fromturtleimport*# 跳过绘图过程t.tracer(False)
# 设置窗口大小和背景颜色t.screensize(800,700,'black')
# RGB默认范围是0~1,通过Screen().colormode设置成0~255Screen().colormode(255)
# 加快作图数度t.speed(speed='fastest')
# 画树t.left(90)
t.forward(-300)
t.pensize(5)
# 设置画笔颜色t.color('green')
# 开始画树deftree(d, s):
ifd<=0:
returnforward(s)
tree(d-1, s*.8)
right(120)
tree(d-3, s*.5)
right(120)
tree(d-3, s*.5)
right(120)
backward(s)
# 调用画树函数tree(15,100)
backward(50)
# 画五角星defxin():
t.right(90)
# 设置画笔尺寸t.pensize(3)
# t.circle(40)# 抬笔t.penup()
# 将画笔移动到该位置t.goto(-25,190)
# 落笔pendown()
# 开始填充t.begin_fill()
# 设置画笔颜色t.color('yellow')
# 画五角星,一共需要五笔foriinrange(5):
t.forward(55)
t.right(144)
# 结束填充t.end_fill()
# 调用画五角星函数xin()
# 满天繁星# 用for循环画17颗星星foriinrange(17):
# 设置随机坐标x=random.randint(-400,400)
y=random.randint(240,330)
# 设置星星随机大小a=random.randint(5,12)
# 抬笔t.penup()
# 将画笔移动到随机位置t.goto(x,y)
# 落笔t.pendown()
t.pensize(5)
t.color('yellow')
t.begin_fill()
foriinrange(4):
t.forward(a)
t.left(30)
t.forward(a)
t.right(120)
# 每画完一颗星星将画笔方向向左改变30度,使星星看起来更加生动t.left(30)
t.end_fill()
#彩色气球# 利用循环画20个气球foriinrange(20):
# 设置随机位置X=random.randint(-400,400)
Y=random.randint(-170,150)
# 抬笔t.penup()
# 将画笔位置移动到初始位置t.home()
# 将画笔移动到随机位置t.goto(X, Y)
# 设置RGB颜色范围red=random.randint(100,255)
green=random.randint(50,155)
blue=random.randint(100,255)
# 画笔尺寸t.pensize(2)
# 落笔t.pendown()
# 设置气球线颜色t.color('white')
t.left(90)
t.circle(80,15)
t.circle(-80,15)
t.right(90)
t.pensize(5)
# 利用RGB颜色设置气球颜色t.color(red,green,blue)
t.begin_fill()
t.circle(15)
t.end_fill()
# 彩灯deflight():
# 隐藏笔头,ht=hideturtlet.hideturtle()
# 利用for循环画100个彩灯foriinrange(100):
t.penup()
# 设置彩灯随机位置x=random.randint(-300,300)
y=random.randint(-350,-300)
# 设置RGB颜色red=random.randint(100,255)
green=random.randint(50,155)
blue=random.randint(100,255)
# 将画笔移动到随机位置t.goto(x,y)
t.pendown()
t.pensize(5)
t.color(red,green,blue)
t.begin_fill()
t.circle(10)
t.end_fill()
# 调用彩灯函数light()
# 雪花defdrawsnow():
# 隐藏笔头,ht=hideturtlet.hideturtle()
t.pensize(2)
foriinrange(200):
t.pencolor("white")
t.penup()
# 设置雪花随机位置坐标x=random.randint(-400,400)
y=random.randint(-250,300)
# 将画笔移动到随机位置t.goto(x,y)
t.pendown()
# 雪花花瓣数petal=6# 设置雪花随机大小snowsize=random.randint(1, 10)
# print(type(snowsize))forjinrange(petal):
t.forward(snowsize)
t.backward(snowsize)
# 转动角度t.right(int(360/petal))
# 调用雪花函数drawsnow()
# 添加文字t.penup()
t.goto(-300,-250)
t.color('red')
t.pendown()
t.write('祝 刘晓云 Merry Christmas!',font=('Mistral',42,'bold italic'))
# 防止绘图完成后窗口秒关t.done()

效果如下

相关文章
|
6天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
36 8
|
2月前
|
数据可视化 Python
Python 高级绘图:探索数据可视化
在Python中,利用matplotlib、seaborn等库可实现数据的可视化。matplotlib功能丰富,支持基础图表绘制;seaborn则提供了更美观的默认样式。此外,matplotlib还支持3D图形及动态图表的生成,满足多样化的数据展示需求。 示例代码展示了如何使用这些库绘制正弦波、散点图、3D曲面图及动态更新的折线图。通过numpy生成数据,并借助matplotlib与seaborn的强大绘图功能,实现数据的直观呈现。
74 17
|
3月前
|
存储 大数据 索引
解锁Python隐藏技能:构建高效后缀树Suffix Tree,处理大数据游刃有余!
通过构建高效的后缀树,Python程序在处理大规模字符串数据时能够游刃有余,显著提升性能和效率。无论是学术研究还是工业应用,Suffix Tree都是不可或缺的强大工具。
63 6
|
3月前
|
大数据 UED 开发者
实战演练:利用Python的Trie树优化搜索算法,性能飙升不是梦!
在数据密集型应用中,高效搜索算法至关重要。Trie树(前缀树/字典树)通过优化字符串处理和搜索效率成为理想选择。本文通过Python实战演示Trie树构建与应用,显著提升搜索性能。Trie树利用公共前缀减少查询时间,支持快速插入、删除和搜索。以下为简单示例代码,展示如何构建及使用Trie树进行搜索与前缀匹配,适用于自动补全、拼写检查等场景,助力提升应用性能与用户体验。
67 2
|
3月前
|
存储 算法 数据挖掘
高效文本处理新纪元:Python后缀树Suffix Tree,让数据分析更智能!
在大数据时代,高效处理和分析文本信息成为关键挑战。后缀树作为一种高性能的数据结构,通过压缩存储字符串的所有后缀,实现了高效的字符串搜索、最长公共前缀查询等功能,成为文本处理的强大工具。本文探讨Python中后缀树的应用,展示其在文本搜索、重复内容检测、最长公共子串查找、文本压缩及智能推荐系统的潜力,引领数据分析迈入新纪元。虽然Python标准库未直接提供后缀树,但通过第三方库或自定义实现,可轻松利用其强大功能。掌握后缀树,即掌握开启文本数据宝藏的钥匙。
60 5
|
3月前
|
存储 开发者 Python
从理论到实践:Python中Trie树与Suffix Tree的完美结合,开启编程新篇章!
在编程领域,高效的数据结构对于解决问题至关重要。本文通过一个案例分析,介绍如何在Python中结合使用Trie树(前缀树)和Suffix Tree(后缀树)。案例聚焦于开发具备高效拼写检查和文本相似度检测功能的文本编辑器。首先,通过构建Trie树快速检查单词是否存在;接着,利用Suffix Tree检测文本相似度。尽管Python标准库未直接提供Suffix Tree,但可通过第三方库或自定义实现。本文展示了高级数据结构在实际应用中的强大功能,并强调了理论与实践相结合的重要性。
48 1
|
3月前
|
存储 算法 Python
逆袭之路:掌握Python字典树Trie与后缀树,成为技术圈的耀眼新星!
在编程的征途上,每个人都渴望成为那个能够独当一面、解决复杂问题的技术高手。而掌握高级数据结构,如字典树(Trie)与后缀树(Suffix Tree),无疑是你逆袭路上的重要一步。这些数据结构不仅能够提升你的编码技能,还能让你在解决特定问题时游刃有余,从而在技术圈中脱颖而出,成为那颗耀眼的新星。
35 1
|
3月前
|
存储 算法 搜索推荐
Python进阶必备:字典树Trie与后缀树Suffix Array,效率提升的神器!
在Python编程中,掌握高效的数据结构对于提升程序性能至关重要。本文将深入探讨两种强大的字符串处理数据结构——字典树(Trie)与后缀数组(Suffix Array)。字典树,又称前缀树,适用于自动补全和拼写检查等功能。例如,在文本编辑器中实现自动补全时,字典树能够即时提供单词补全选项。后缀数组则用于存储字符串的所有后缀并按字典序排序,结合最长公共前缀(LCP)数组,可以高效解决许多字符串问题,如查找最长重复子串等。通过实际案例,我们将展示这两种数据结构的强大功能,帮助你在Python编程中更进一步。
69 2
|
3月前
|
存储 算法 索引
从菜鸟到大神:一文带你彻底搞懂Python中的后缀树Suffix Tree奥秘!
在Python编程中,后缀树是一种高效的数据结构,特别适用于处理复杂的字符串问题,如搜索、最长公共前缀查询及最长重复子串查找等。本文通过问答形式介绍后缀树的基本概念、重要性及其实现方法。后缀树能显著提高字符串处理效率,将传统方法的时间复杂度从O(nm)降至接近O(m)。尽管其构建过程较复杂,但通过手动编写代码或使用第三方库,我们可以在Python中实现这一强大工具。后缀树的应用广泛,涵盖字符串搜索、压缩、生物信息学等多个领域,学习它不仅能帮助解决实际问题,更能提升算法思维和数据结构设计能力。
91 1
|
2月前
|
数据可视化 Python
Python 高级绘图:从基础到进阶的可视化实践
本文介绍了使用 Python 的强大绘图库 matplotlib 实现多种图表绘制的方法,包括简单的折线图、多条折线图、柱状图、饼图、散点图及 3D 图的绘制。通过具体代码示例展示了如何设置轴标签、标题、图例等元素,并指出了 matplotlib 支持更多高级绘图功能。来源:https://www.wodianping.com/app/2024-10/47112.html。
95 0