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()

效果如下

相关文章
|
1月前
|
Python
【Leetcode刷题Python】剑指 Offer 26. 树的子结构
这篇文章提供了解决LeetCode上"剑指Offer 26. 树的子结构"问题的Python代码实现和解析,判断一棵树B是否是另一棵树A的子结构。
34 4
|
16天前
|
Python
Python笔下那些神奇的树
Python笔下那些神奇的树
|
1月前
|
机器学习/深度学习 前端开发 数据挖掘
基于Python Django的房价数据分析平台,包括大屏和后台数据管理,有线性、向量机、梯度提升树、bp神经网络等模型
本文介绍了一个基于Python Django框架开发的房价数据分析平台,该平台集成了多种机器学习模型,包括线性回归、SVM、GBDT和BP神经网络,用于房价预测和市场分析,同时提供了前端大屏展示和后台数据管理功能。
|
1月前
|
Python
【Leetcode刷题Python】538. 把二叉搜索树转换为累加树
LeetCode上538号问题"把二叉搜索树转换为累加树"的Python实现,使用反向中序遍历并记录节点值之和来更新每个节点的新值。
17 3
|
1月前
|
机器学习/深度学习 数据可视化 算法
决策树VS世界:掌握Python机器学习中的这棵树,决策从此不再迷茫
【8月更文挑战第2天】在数据驱动时代,决策树作为一种直观且易于解释的机器学习方法,因其强大的分类与回归能力备受青睐。本文介绍决策树的基础概念:通过属性测试划分数据,优化选择以提高预测准确度。使用Python的scikit-learn库,我们演示了如何加载鸢尾花数据集,构建并训练决策树模型,评估其准确性,以及利用`plot_tree`函数可视化决策过程,从而更好地理解模型的工作原理。掌握这些技能,你将在面对复杂决策时更加自信。
19 2
|
22天前
|
数据可视化 Python
Python 绘图编程:一场震撼视觉的奇幻之旅,带你闯入绚丽多彩的数据可视化世界!
【8月更文挑战第22天】Python 以强大功能和简洁语法闻名,其绘图能力尤其出色,助力数据可视化与创意展现。常用绘图库 Matplotlib 提供丰富指令,支持多样图表创作,如线图、柱状图及散点图等。通过简单代码即可完成数据展示,包括设置标题、轴标签等,实现直观的数据故事叙述,满足不同场景需求。不断实践探索,创造更佳视觉效果。
24 0
|
2月前
|
算法 数据处理 索引
告别低效搜索!Python中Trie树与Suffix Tree的实战应用秘籍!
【7月更文挑战第21天】探索Python中的字符串搜索效率提升:使用Trie树与Suffix Tree。Trie树优化单词查询,插入和删除,示例展示其插入与搜索功能。Suffix Tree,复杂但强大,适用于快速查找、LCP查询。安装[pysuffixtree](https://pypi.org/project/pysuffixtree/)库后,演示查找子串及最长公共后缀。两者在字符串处理中发挥关键作用,提升数据处理效率。**
34 1
|
2月前
|
存储 大数据 索引
解锁Python隐藏技能:构建高效后缀树Suffix Tree,处理大数据游刃有余!
【7月更文挑战第19天】Suffix Tree 概述:** 为高效处理字符串搜索、匹配和大数据分析,后缀树是一种优化数据结构,可快速检索后缀、执行最长公共后缀查询及字符串排序。Python中虽无内置实现,但可通过第三方库或自建代码构造。应用于字符串搜索、生物信息学等领域,提升大数据处理效率。
34 3
|
2月前
|
存储 开发者 Python
从理论到实践:Python中Trie树与Suffix Tree的完美结合,开启编程新篇章!
【7月更文挑战第19天】在编程实践中,Trie树和Suffix Tree优化了字符串处理。Trie树用于快速拼写检查,如在构建词库后,能高效判断单词是否存在。Suffix Tree则助力文本相似度检测,找寻共同子串。通过Python示例展示了Trie树插入和搜索方法,并指出Suffix Tree虽复杂但能提升性能。结合两者,实现复杂功能,展现数据结构的强大。
36 3
|
2月前
|
人工智能 算法 数据挖掘
高效文本处理新纪元:Python后缀树Suffix Tree,让数据分析更智能!
【7月更文挑战第20天】后缀树是文本处理的关键工具,它在Python中虽需第三方库支持(如pysuffixtree),但能高效执行搜索、重复内容检测等任务。应用于文本搜索、重复内容检测、生物信息学、文本压缩及智能推荐系统。随着AI和大数据发展,后缀树将在更多领域展现潜力,助力数据分析智能化和高效化。学习和利用后缀树,对于驾驭海量文本数据至关重要。**
38 1