目录

  • 一、概述
  • 二、函数
    • 1.窗体函数
    • 2.画笔状态函数
    • 3.画笔运动函数
  • 三、实例

一、概述

turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制,其概念诞生于1969年。turtle是最有价值的程序设计入门实践库,它是程序设计入门层面最常用的基本绘图库。

turtle的绘图原理:

  1. 有一只海龟处于画布正中心,由程序控制在画布上游走;
  2. 海龟走过的轨迹形成了绘制的图形
  3. 海龟由程序控制,可改变其大小,颜色等

使用 import 保留字对 turtle 库的引用有以下三种方式:

  1. import turtle
import turtle
turtle.circle(200)
  1. from turtle import *
from turtle import *
circle(200)
  1. import turtle as t
import turtle as t
t.circle(200)

二、函数

1.窗体函数

turtle.setup()函数与窗体有关,定义如下:
turtle.setup(width,height,startx,starty)
作用:设置主窗体的大小和位置

参数:
width:窗口宽度。如果值是整数,表示像素值;如果值是小数,表示窗口宽度与屏幕的比例
height:窗口高度。如果值是整数,表示像素值;如果值是小数,表示窗口高度与屏幕的比例
startx:窗口左侧与屏幕右侧的像素距离。如果值是None,窗口位于屏幕水平正中央。
starty:窗口顶部与屏幕顶部的像素距离。如果值是None,窗口位于屏幕垂直正中央。

2.画笔状态函数

函数 描述
pendown( ) 放下画笔
penup( ) 提起画笔
pensize(width) 设置画笔线条的粗细为指定大小
pencolor( ) 设置画笔的颜色
color( a,b) 同时设置画笔和填充颜色
begin_fill( ) 填充图形前,调用该方法
end_fill( ) 填充图形结束
filling( ) 返回填充的状态,True为填充。False为未填充
clear( ) 清空当前窗口,但不改变当前画笔的位置
reset( ) 清空当前窗口,并重置位置等状态为默认值
screensize( ) 设置画布窗口的宽度、高度和背景颜色
hideturtle( ) 隐藏画笔的turtle形状
showturtle( ) 显示画笔的turtle形状
isvisible( ) 如果turtle可见,则返回True
write(str,font=None) 输出font字体的字符串

注:pencolor(color)的color可以有三种形式:

  1. 颜色字符串:turtle.color(“purple”)
  2. RGB的小数值:turtle.color(0.63,0.13,0.94)
  3. RGB的元组值:turtle.color((0.63,0.13,0.94))

3.画笔运动函数

函数 描述
fd(distance) 沿着当前方向前进指定距离
bk(distance) 沿着当前相反方向后退指定距离
right(angle) 向右旋转angle角度
left(angle) 向左旋转angle角度
goto(x,y) 移动到绝对坐标(x,y)处
setx(x) 修改画笔的横坐标到x,纵坐标不变
sety(y) 修改画笔的纵坐标到y,横坐标不变
seth(angle) 设置当前朝向为angle角度
home( ) 设置当前画笔位置为原点,朝向东
circle(radius,e) 绘制一个指定半径r和角度e的圆或弧形
dot(r,color) 绘制一个指定半径r和颜色color的圆点
undo( ) 撤销画笔的最后一步动作
speed( ) 设置画笔的绘制速度,参数为0~10之间

三、实例

python蟒蛇绘制:

import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("tomato")
turtle.seth(-40)
for i in range(4):turtle.circle(40,80)turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()

turtle绘图汇总:

粉红爱心
'''
from turtle import *
color('red', 'pink')
begin_fill()
left(135)
fd(100)
right(180)
circle(50, -180)
left(90)
circle(50, -180)
right(180)
fd(100)
end_fill()
hideturtle()
done()     '''红色五角星
'''from turtle import *
setup(400,400)
penup()
goto(-100,50)
pendown()
color("red")
begin_fill()
for i in range(5):forward(200)right(144)
end_fill()
hideturtle()
done()'''正方形螺旋线
'''
import turtle
n = 10
for i in range(1,10,1):for j in [90,180,-90,0]:turtle.seth (j)turtle.fd(n)n += 5       '''城市剪影
'''
import turtle
turtle.setup(800,300)
turtle.penup()
turtle.fd(-350)
turtle.pendown()
def DrawLine(size):for angle in [0,90,-90,-90,90]:turtle.left(angle)turtle.fd(size)
for i in [20,30,40,50,40,30,20]:DrawLine(i)
turtle.hideturtle()
turtle.done()     '''四阶同心圆
'''
import turtle as t
def DrawCctCircle(n):t.penup()t.goto(0,-n)t.pendown()t.circle(n,360)
for i in range(20,100,20):DrawCctCircle(i)
t.hideturtle()
t.done()     '''钢琴键
'''
import turtle as t
t.setup(500,300)
t.penup()
t.goto(-180,-50)   #将画笔移动到绝对位置(–180,–50)处
t.pendown()    #画笔落下
def Drawrect():t.fd(40)t.left(90)t.fd(120)t.left(90)t.fd(40)t.left(90)t.fd(120)t.penup()t.left(90)t.fd(42)t.pendown()
for i in range(7):Drawrect()
t.penup()
t.goto(-150,0)
t.pendown
def DrawRectBlack():t.color('black')t.begin_fill()t.fd(30)t.left(90)t.fd(70)t.left(90)t.fd(30)t.left(90)t.fd(70)t.end_fill()t.penup()t.left(90)t.fd(40)t.pendown()
DrawRectBlack()
DrawRectBlack()
t.penup()
t.fd(48)
t.pendown()
DrawRectBlack()
DrawRectBlack()
DrawRectBlack()
t.hideturtle()
t.done()   '''叠加等边三角形
'''
import turtle
turtle.pensize(2)    # 设置画笔宽度为2像素
turtle.color('red')
turtle.fd(160)   # 向小海龟当前行进方向前进160像素
turtle.seth(120)
turtle.fd(160)
turtle.seth(-120)
turtle.fd(160)
turtle.penup()
turtle.seth(0)
turtle.fd(80)
turtle.pendown()
turtle.seth(60)
turtle.fd(80)
turtle.seth(180)
turtle.fd(80)
turtle.seth(-60)
turtle.fd(80)
turtle.hideturtle()
turtle.done()   '''金色三角形
'''
import turtle as t
t.colormode(255)
t.color(255,215,0)    #设置颜色取值为金色(255,215,0)
t.begin_fill()
for x in range(0,8):      #绘制8条线t.forward(200)t.left(225)
t.end_fill()
t.hideturtle()
t.done()   '''五种多边形
'''
from turtle import *
for i in range(5):penup()    #画笔抬起goto(-200+100*i,-50)pendown()circle(40,steps=3+i)    #画某个形状
done()    '''绘制树形图
'''
import turtle as t
def tree(length,level):    #树的层次if level <= 0:returnt.forward(length)    #前进方向画 length距离t.left(45)tree(0.6*length,level-1)t.right(90)tree(0.6*length,level-1)t.left(45)t.backward(length)return
t.pensize(3)
t.color('green')
t.left(90)
tree(100,6)  '''花形图
'''
import turtle
for i in range(4):turtle.right(90)turtle.circle(30,180)   '''星形图
'''
import turtle
for i in range(4):turtle.circle(-90,90)turtle.right(180)
'''类斯诺克图
'''
import turtle
#绘制边长为20的圆形
def drawCircle():turtle.pendown()turtle.circle(20)turtle.penup()turtle.fd(40)#绘制n层的如题干中描述的图形
def drawRowCircle(n):for j  in range(n,1,-1):for i in range(j):drawCircle()turtle.fd(-j*40-20)turtle.right(90)turtle.fd(40)turtle.left(90)turtle.fd(40)drawCircle()#调用函数绘制图形
drawRowCircle(5)
turtle.hideturtle()
turtle.done()
'''领结
'''
from turtle import *
pensize(6)
penup()
goto(-100,-50)
pendown()
fillcolor('red')
begin_fill()
goto(-100,50)
goto(100,-50)
goto(100,50)
goto(-100,-50)
penup()
goto(-10,0)
pendown()
right(90)
circle(10,360)
end_fill()
hideturtle()
done()
'''三菱
'''
import turtledef Draw():turtle.fillcolor("red")turtle.begin_fill()turtle.fd(100)turtle.left(60)turtle.fd(100)turtle.left(120)turtle.fd(100)turtle.left(60)turtle.fd(100)turtle.end_fill()for i in range(3):Draw()
turtle.hideturtle()
turtle.done()
'''
螺旋状正方形
'''
import turtle
d = 0
k = 1
for j in range(10):for i in range(4):turtle.seth(d)d += 91turtle.fd(k)k += 4
turtle.done()
'''嵌套五边形
'''
import turtle
edge=5
d = 0
k = 1
for j in range(10):for i in range(edge):turtle.fd(k)d += 360/edgeturtle.seth(d)k += 3
turtle.done() '''八卦图
'''
import turtle as t
t.circle(100)
t.circle(50,180)
t.circle(-50,180)
t.penup()
t.goto(0,140)
t.pendown()
t.circle(10)
t.penup()
t.goto(0,40)
t.pendown()
t.circle(10)
t.done()
'''同心圆
import turtle as t
def DrawCctCircle(n):t.penup()t.goto(0,-n)t.pendown()t.circle(n)
for i in range(20,80,20):DrawCctCircle(i)
t.done()

Python标准库——turtle库相关推荐

  1. python樱花代码_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例

    今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态 ...

  2. Python学习17 Turtle库绘图

    学习网址:https://docs.python.org/zh-cn/3/library/turtle.html Turtle库 Turtle库是Python语言中一个很流行的绘制图像的函数库,一个小 ...

  3. 用python画圣诞树-使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例

    今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态 ...

  4. Python绘图:turtle库基础语法介绍

    目录 一.turtle库的导入 二.绘图命令介绍 1.  画布属性设置 2.  画笔属性设置 3.  移动画笔和转角绘图 4.  图形绘制与图形填充 三.turtle绘图实例:绘制太阳花 Python ...

  5. python使用turtle库绘制一个100长度的十字架_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例...

    使用python图形模块turtle库绘制樱花.玫瑰.圣诞树代码实例 发布时间:2020-08-22 15:57:19 来源:脚本之家 阅读:76 作者:Soul fragments 今天为大家介绍几 ...

  6. 海龟编程 python绘图工具turtle库的用法 turtle库使用方法大全,画笔设置 画布设置 绘图设置,画笔粗细,画笔颜色, 画笔速度。Python二级必须会的命令(已获取证书)

    目录 海龟编程 python绘图工具turtle库的用法 画布: 画笔 画笔运动命令: 画笔的控制命令: 全局控制命令: 简单turtle绘图示例: 圆中方: 三色同心圆: 四个圆中方: 螺旋正方: ...

  7. 使用Python中的Turtle库画正方体

    使用Python中的Turtle库画正方体 先献上画完之后的图形,还有些许瑕疵,例如虚线没有对齐,有待于后续微调 以下是实现代码 # encoding=utf-8 import turtle# 画正面 ...

  8. [python] math与turtle库之蝴蝶曲线

    [python代码]math与turtle库之蝴蝶曲线的运用 几个turtle库基本函数: 1:turtle.pensize(x) :X大小控制画笔大小 2:turtle.pencolor(" ...

  9. 绘制图形可以使用什么python数据库_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例...

    今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态 ...

  10. 使用Python中的Turtle库绘制简单的图形

    Turtle图形库 Turtle库是Python内置的图形化模块,属于标准库之一,位于Python安装目录的lib文件夹下,常用函数有以下几种: 画笔控制函数 penup():抬起画笔: pendow ...

最新文章

  1. 阿里云平台注册与使用Linux
  2. CVPR 2020 | 港中文提出3D目标检测新框架DSGN
  3. java——JMM内存模型
  4. 多进程与多线程的区别
  5. bert 无标记文本 调优_使用BERT准确标记主观问答内容
  6. Azure DevOps Server (TFS)中代码文件换行问题解决方案(Git)
  7. 怎么查看电脑有没有python_python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学...
  8. macOS的控制台Console.app
  9. 树形dp——cf1010D
  10. Spring Cloud Alibaba Sentinel之持久化篇
  11. 数论中的偶数阶Abel群的阶
  12. 《人生十论》. 钱穆
  13. 业务:金融科技行业分析
  14. 对称性在第一型曲线积分中的应用
  15. insmod过程详解
  16. 电销接通率低,深圳外呼系统应该怎么选择?
  17. 看看那些穷苦的人们... [图]
  18. N诺刷题(基础算法)
  19. 道路车辆 盲区监测(bsd)系统性能要求及试验方法_让你的爱车“多一双眼睛”——BSD盲点监测系统...
  20. MonkeyScript

热门文章

  1. python细胞自动机及微分计算
  2. 企业微信API学习笔记
  3. 关于PC浏览器js提示兼容问题的代码 “您的浏览器版本太低了,已经和时代脱轨了“ 强制锁定极速模式
  4. 测试TCP和UDP端口的方法
  5. 测试UDP端口是否通
  6. 史密斯圆图matlab,用MATLAB程序实现Smith圆图的图解过程
  7. 使用Arduino Pro Mini和BC95-B5连接物联网
  8. VIVO校招C++岗面经(笔试+一面+二面+Offer)
  9. HDMI接口定义,传输流程
  10. springboot通过code获取微信小程序UnionID