小海龟--turtle模块

本文详细介绍了Python的turtle模块,包括前进、后退、转向等基本绘图命令,圆和多边形的绘制,箭头控制以及如何使用stamp()进行图形复制和清除。turtle模块提供了一个直观的图形用户界面,用于教学或简单的图形创作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

绘图窗口上,默认有一个原点(0,0)在画布正中间的坐标轴,并且默认的朝向是右侧(X轴正方向)的小海龟。

命令说明

forward(d) 向前移动d长度
backward(d) 向后移动d长度
right(a) 向右转动多少度
left(a) 向左转动多少度
goto(x,y) 移动到坐标为(x,y)的位置

speed(speed) 笔画绘制的速度[0,10]
up() 笔画抬起
down() 笔画绘制
setheading(d) 改变还贵的朝向
pensize() 笔画宽度
pencolor(colorstr) 笔画颜色
reset() 恢复所有设置,清空窗口,重置turtle状态
clear() 清空窗口,但不重置turtle状态
circle(r,steps=e) 绘制一个圆形,r为半径,e为次数(可不写,不写就是一个完整的圆)
begin_fill() 开始填充
fillcolor(colorstr) 填充颜色
end_fill() 结束填充

done() #程序继续运行
undo() #撤销上一次动作
hideturtle() #隐藏海龟
showturtle() #显示海龟
screensize(x,y) #屏幕尺寸

默认规则

"standard"模式逆时针"logo"模式顺时针
0 - east0 - north
90 - north90 - east
180 - west180 - south
270 - south270 - west

如下图“standard”模式时(默认0时表示x方向向右即向东);“logo”模式时(默认0时表示y方向向上即向北)
y“logo”时
^
|
|
|
(0,0)——————> x“standard”时

运动命令

import turtle  #外部库必须先导入
turtle.forward(100) #或turtle.fd(100)
#从原点位置,向前移动100单位(默认向右)

在这里插入图片描述

turtle.backward(200) #或turtle.back(200) 或turtle.bk(200)
#在上图基础上,后退200个单位。小海龟方向还是向右

在这里插入图片描述

turtle.right(45) # turtle.rt(45)
#向右转动多少度,与上图相比,小海龟方向发生变化。

在这里插入图片描述

turtle.left(90) #或turtle.lt(90)
#向左转动多少度

在这里插入图片描述

turtle.goto(60,30) #或turtle.setpos(60,30) 或turtle.setposition(60,30)
#移动到绝对位置,参数为(x轴,y轴)

在这里插入图片描述

 turtle.setx(15)
 #y轴不变,更改x轴坐标(移动坐标点,而不是长度)

在这里插入图片描述

 turtle.sety(15)
 #x轴不变,更改y轴坐标(移动坐标点,而不是长度)

在这里插入图片描述

 turtle.seth(90) #或turtle.setheading(to_angle)
 #直接将小海龟的朝向转到90度,standard模式下,90度即指向北方

在这里插入图片描述

 turtle.home()
 # 将位置和方向恢复到初始状态,位置初始坐标为(0,0),方向初始为("standard"模式为right向右即东,"logo"模式是up向上即北)
 # 如下图,小海龟回到原点位置,方向向右的初始状态

在这里插入图片描述

圆和多边形的画法

turtle.circle(100, extent=None, steps=None)
 # 如下图,小海龟在的位置是原点位置,注意circle命令并不是以原点为中心画圆。而是以原点为起点换一个半径为100的圆
 #radius(a number,圆半径,为正数则逆时针画,为负数则顺时针画,方向随着轨迹的变化而变化)
 #extent(a number or None,一个角度,决定哪部分圆圈被绘制,不提供extent表示画完整的圆)
 #steps(an integer or None,指定半径radius前提下,完成extent的角度时,分了几步,如画正5边形时

在这里插入图片描述

turtle.circle(100, extent=90, steps=None)
#extent是一个角度,一个圆是360度,90度即1/4个圆

在这里插入图片描述

turtle.circle(100, None, 10)
#注意:None的N要大写,

在这里插入图片描述

#点的画法

turtle.dot()  #按给定直径size画圆点
turtle.fd(50)
turtle.dot(5, "blue") # 以直径为5画蓝色圆点
turtle.fd(50)
turtle.dot(20, "red") # 以直径为20画红色圆点
turtle.fd(50)
# turtle.dot(size=None, *color)

在这里插入图片描述

箭头控制

turtle.stamp()是在当前位置拷贝一份此时箭头的形状,返回一个stamp_id(int型),请观察下面2种方式的不同。

turtle.color("red")
turtle.fd(50)
turtle.stamp()
turtle.fd(50)
turtle.stamp()
turtle.fd(50)
turtle.color("red")
turtle.fd(50)
turtle.fd(50)
turtle.fd(50)

在这里插入图片描述

在这里插入图片描述

turtle.clearstamps(n=None),n为None时表示删除所有拷贝的箭头形状;为0不删除;n > 0 表示删除前n个,n < 0 表示删除后n个

stamp_id = turtle.stamp()
turtle.clearstamp(stamp_id)用来删除指定stamp_id的箭头形状

turtle.clearstamps(1)      
#删除前一个复制的箭头  

在这里插入图片描述

turtle.clearstamps(2)      
#删除前两个复制的箭头  

在这里插入图片描述

turtle.clearstamps(-2)      
#删除后面两个复制的箭头  

在这里插入图片描述

turtle.clearstamps()      
#删除全部复制的箭头  

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值