python turtle绘图


Posted in Python onMay 04, 2022

一、安装

  • 写出许多有趣的可视化东西
  • 也可以画出很多奇妙的图案
pip install turtule

二、画布

  • 画布就是turtle为我们展开用于绘图区域
  • 我们可以设置它的大小和初始位置
import turtle
# 返回默认大小(400, 300)
turtle.screensize()
# 设置画布方法一,设置宽、高、背景色
turtle.screensize(800, 600, "green")
# 设置画布方法二, 宽高为小数时候为占据电脑屏幕比例, 宽高为整数时候为像素
turtle.setup(width=0.6, height=0.6)
# startx,starty表示矩形窗口左上角顶点的位置, 如果为空, 则窗口位于屏幕中心
turtle.setup(width=800, height=800, startx=100, starty=100)

三、画笔

  • 可以设置画笔的属性,颜色、画线的宽度等
import turtle
# 设置画笔的宽度
turtle.pensize()
# 没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色
turtle.pencolor()
# 设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快
turtle.speed(speed)

四、绘图命令

import turtle
# 向当前画笔方向移动distance像素长
turtle.forward(distance)
# 向当前画笔相反方向移动distance像素长度
turtle.backward(distance)
# 顺时针移动degree°
turtle.right(degree)
# 逆时针移动degree°
turtle.left(degree)
# 移动时绘制图形,缺省时也为绘制
turtle.pendown()
# 将画笔移动到坐标为x,y的位置
turtle.goto(x,y)
# 移动时不绘制图形,提起笔,用于另起一个地方绘制时用
turtle.penup()
# 画笔绘制的速度范围[0,10]整数
turtle.speed(speed)
# 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
turtle.circle()

五、画笔控制命令

import turtle
# 绘制图形时的宽度
turtle.pensize(width)
# 画笔颜色
turtle.pencolor()
# 绘制图形的填充颜色
turtle.fillcolor(colorstring)
# 同时设置pencolor=color1, fillcolor=color2
turtle.color(color1, color2)
# 返回当前是否在填充状态
turtle.filling()
# 准备开始填充图形
turtle.begin_fill()
# 填充完成
turtle.end_fill()
# 隐藏箭头显示
turtle.hideturtle()
# 与hideturtle()函数对应
turtle.showturtle()

六、全局控制命令

import turtle
# 清空turtle窗口,但是turtle的位置和状态不会改变
turtle.clear()
# 清空窗口,重置turtle状态为起始状态
turtle.reset()
# 撤销上一个turtle动作
turtle.undo()
# 返回当前turtle是否可见
turtle.isvisible()
# 复制当前图形
stamp()
# 写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型
turtle.write(s[,font=("font-name",font_size,"font_type")])

七、绘制方形螺旋

from turtle import *
for i in range(500):
forward(i)
left(91)

python turtle绘图

八、绘制彩色螺旋

from turtle import *
colors = ['red', 'purple', 'blue', 'green', 'yellow', 'orange']
for x in range(360):
pencolor(colors[x % 6])
width(x / 100 + 1)
forward(x)
left(59)

python turtle绘图

九、绘制太阳花

import turtle as t
import time
t.color("red", "yellow")
t.speed(10)
t.begin_fill()
for _ in range(50):
t.forward(200)
t.left(170)
end_fill()
time.sleep(1)

python turtle绘图

十、绘制小蟒蛇

import turtle
def drawSnake(rad, angle, len, neckrad):
for _ in range(len):
turtle.circle(rad, angle)
turtle.circle(-rad, angle)
turtle.circle(rad, angle/2)
turtle.forward(rad/2) # 直线前进
turtle.circle(neckrad, 180)
turtle.forward(rad/4)
if __name__ == "__main__":
turtle.setup(1500, 1400, 0, 0)
turtle.pensize(30) # 画笔尺寸
turtle.pencolor("green")
turtle.seth(-40) # 前进的方向
drawSnake(70, 80, 2, 15)

python turtle绘图

十一、绘制五角星

import turtle
import time
turtle.pensize(5)
turtle.pencolor("yellow")
turtle.fillcolor("red")
turtle.begin_fill()
for _ in range(5):
turtle.forward(200)
turtle.right(144)
turtle.end_fill()
time.sleep(2)

turtle.penup()
turtle.goto(-150,-120)
turtle.color("violet")
turtle.write("Done", font=('Arial', 40, 'normal'))
time.sleep(1)

python turtle绘图

十二、绘制小猪佩奇

from turtle import*
# 绘制鼻子
def nose(x,y):
pu()
goto(x,y)
pd()
seth(-30)
begin_fill()
a=0.4
for i in range(120):
if 0<=i<30 or 60<=i<90:
a=a+0.08
lt(3) #向左转3度
fd(a) #向前走a的步长
else:
a=a-0.08
lt(3)
fd(a)
end_fill()
pu()
seth(90)
fd(25)
seth(0)
fd(10)
pd()
pencolor(255,155,192)
seth(10)
begin_fill()
circle(5)
color(160,82,45)
end_fill()
pu()
seth(0)
fd(20)
pd()
pencolor(255,155,192)
seth(10)
begin_fill()
circle(5)
color(160,82,45)
end_fill()
# 绘制头部
def head(x,y):
color((255,155,192),"pink")
pu()
goto(x,y)
seth(0)
pd()
begin_fill()
seth(180)
circle(300,-30)
circle(100,-60)
circle(80,-100)
circle(150,-20)
circle(60,-95)
seth(161)
circle(-300,15)
pu()
goto(-100,100)
pd()
seth(-30)
a=0.4
for i in range(60):
if 0<=i<30 or 60<=i<90:
a=a+0.08
lt(3) #向左转3度
fd(a) #向前走a的步长
else:
a=a-0.08
lt(3)
fd(a)
end_fill()
# 绘制耳朵
def ears(x,y):
color((255,155,192),"pink")
pu()
goto(x,y)
pd()
begin_fill()
seth(100)
circle(-50,50)
circle(-10,120)
circle(-50,54)
end_fill()
pu()
seth(90)
fd(-12)
seth(0)
fd(30)
pd()
begin_fill()
seth(100)
circle(-50,50)
circle(-10,120)
circle(-50,56)
end_fill()
# 绘制眼睛
def eyes(x,y):
color((255,155,192),"white")
pu()
seth(90)
fd(-20)
seth(0)
fd(-95)
pd()
begin_fill()
circle(15)
end_fill()
color("black")
pu()
seth(90)
fd(12)
seth(0)
fd(-3)
pd()
begin_fill()
circle(3)
end_fill()
color((255,155,192),"white")
pu()
seth(90)
fd(-25)
seth(0)
fd(40)
pd()
begin_fill()
circle(15)
end_fill()
color("black")
pu()
seth(90)
fd(12)
seth(0)
fd(-3)
pd()
begin_fill()
circle(3)
end_fill()
# 绘制腮
def cheek(x,y):
color((255,155,192))
pu()
goto(x,y)
pd()
seth(0)
begin_fill()
circle(30)
end_fill()
# 绘制嘴巴
def mouth(x,y):
color(239,69,19)
pu()
goto(x,y)
pd()
seth(-80)
circle(30,40)
circle(40,80)

# 绘制身体
def body(x,y):
color("red",(255,99,71))
pu()
goto(x,y)
pd()
begin_fill()
seth(-130)
circle(100,10)
circle(300,30)
seth(0)
fd(230)
seth(90)
circle(300,30)
circle(100,3)
color((255,155,192),(255,100,100))
seth(-135)
circle(-80,63)
circle(-150,24)
end_fill()
# 绘制手
def hands(x,y):
color((255,155,192))
pu()
goto(x,y)
pd()
seth(-160)
circle(300,15)
pu()
seth(90)
fd(15)
seth(0)
fd(0)
pd()
seth(-10)
circle(-20,90)
pu()
seth(90)
fd(30)
seth(0)
fd(237)
pd()
seth(-20)
circle(-300,15)
pu()
seth(90)
fd(20)
seth(0)
fd(0)
pd()
seth(-170)
circle(20,90)
# 绘制脚
def foot(x,y):
pensize(10)
color((240,128,128))
pu()
goto(x,y)
pd()
seth(-90)
fd(40)
seth(-180)
color("black")
pensize(15)
fd(20)
pensize(10)
color((240,128,128))
pu()
seth(90)
fd(40)
seth(0)
fd(90)
pd()
seth(-90)
fd(40)
seth(-180)
color("black")
pensize(15)
fd(20)

# 绘制尾巴
def tail(x,y):
pensize(4)
color((255,155,192))
pu()
goto(x,y)
pd()
seth(0)
circle(70,20)
circle(10,330)
circle(70,30)
# 参数设置
def setting():
pensize(4)
hideturtle()
colormode(255)
color((255,155,192),"pink")
setup(840,500)
speed(10)
if __name__ == "__main__":
setting() #画布、画笔设置
nose(-100,100) #鼻子
head(-69,167) #头
ears(0,160) #耳朵
eyes(0,140) #眼睛
cheek(80,10) #腮
mouth(-20,30) #嘴
body(-32,-8) #身体
hands(-56,-45) #手
foot(2,-177) #脚
tail(148,-155) #尾巴
done() #结束

Tags in this post...

Python 相关文章推荐
python利用hook技术破解https的实例代码
Mar 25 Python
python实现多线程的两种方式
May 22 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
Pandas0.25来了千万别错过这10大好用的新功能
Aug 07 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
Aug 20 Python
Python文件时间操作步骤代码详解
Apr 13 Python
使用python处理题库表格并转化为word形式的实现
Apr 14 Python
python和JavaScript哪个容易上手
Jun 23 Python
keras实现VGG16方式(预测一张图片)
Jul 07 Python
python如何实现DES加密
Sep 21 Python
python基于opencv实现人脸识别
Jan 04 Python
python 如何读、写、解析CSV文件
Mar 03 Python
python blinker 信号库
May 04 #Python
python三子棋游戏
May 04 #Python
python神经网络 使用Keras构建RNN训练
May 04 #Python
python神经网络学习 使用Keras进行回归运算
May 04 #Python
python神经网络学习 使用Keras进行简单分类
May 04 #Python
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
May 04 #Python
Python3使用Qt5来实现简易的五子棋小游戏
May 02 #Python
You might like
PHP字符串处理的10个简单方法
2010/06/30 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
原生javascript获取元素样式
2014/12/31 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
理解javascript中的闭包
2017/01/11 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
2018/08/03 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
laypage.js分页插件使用方法详解
2019/07/27 Javascript
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
python利用hook技术破解https的实例代码
2013/03/25 Python
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
python字符串下标与切片及使用方法
2020/02/13 Python
Python reversed函数及使用方法解析
2020/03/17 Python
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
Pam & Gela官网:美国性感前卫女装品牌
2018/07/19 全球购物
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
软件生产职位结构化面试主要考察要素及面试题库
2015/06/12 面试题
自荐信格式范文
2013/10/07 职场文书
手术室护士自我鉴定
2013/10/14 职场文书
试用期员工考核制度
2014/01/22 职场文书
涉密人员保密承诺书
2014/05/28 职场文书
婚育证明格式
2015/06/17 职场文书
Python中的min及返回最小值索引的操作
2021/05/10 Python
python获取字符串中的email
2022/03/31 Python