python图形化编程turtle小乌龟

文章目录:

一:导入包(常用的)

二:布局

1.设置世界坐标系

2.窗体

3.画布屏幕screen

三:线条画笔海龟

1.运动

2.样式

3.外观

4.其他

四:颜色

五:文字

六:图形

七:事件

1.鼠标事件

2.键盘事件

3.屏幕事件

八:动态


必备知识:https://liuxinlei.blog.csdn.net/article/details/132608904
手册:turtle --- 海龟绘图 --- Python 3.13.0a5 文档Turtle 方法

参考: 青少年!超有趣!跟着小趣老师学Python(2小时)

一:导入包(常用的)

|---------------|-----|---------------------------------------------------------------------------------------|
| import turtle | 画图 | |
| import time | 时间 | time.sleep(10) |
| import random | 随机数 | random.random() #0到1之间的小数 random.random(a,b) #从a到b,不包括b random.randint(a,b) #从a到b,包括b |
| import pygame | 游戏 | pygane.init()初始化 |

二:布局

1.设置世界坐标系

|------------------------------------------------------------------------------------------------------------------------------------|----------|---|
| setworldcoordinates() | 用户自定义坐标系 | |

2.窗体

|------------------------------------------------------------------------------------------------------------------|---------------------------------|---|
| window_height() | 窗口高度 | |
| window_width() | 窗口宽度 | |
| turtle.setup(width,height,startx,starty) || |
| width w | 窗口宽度 整数表示像素值,小数表示窗口宽度与屏幕的比例 | |
| height h | 窗口高度 整数表示像素值,小数表示窗口高度与屏幕的比例 | |
| startx | 窗口左侧与屏幕左侧的像素距离 None表示窗口位于屏幕水平中央 | |
| starty | 窗口顶部与屏幕顶部的像素距离 None表示窗口位于屏幕垂直中央 | |

3.画布屏幕screen

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------|---|
| getcanvas() | 获取画布 | |
| screensize() turtle.screensize(800, 600, "green") turtle.screensize() #返回默认大小(400, 300) screen.setup(1200,600)改变画布大小 | 屏幕大小 | |
| bgcolor() | 背景颜色 | |
| bgpic() screen.bgpic("背景图片.gif") | 设置背景图片 | |
| screen.register_shape("乌龟.gif") t=turtle() t.shape("乌龟.gif") | 导入图片 | |
| screen.update() | 更新屏幕 | |
| getscreen() | 获取屏幕 | |
| clearscreen() | 删除所有海龟的全部绘图 | |
| resetscreen() | 重置屏幕上的所有海龟为其初始状态 | |
| bye() | 退出 | |
| exitonclick() | 当点击时退出 | |
| setup() | 设置 | |
| title() | 标题 | |

三:线条画笔海龟

1.运动

|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|
| 抬笔落笔 | penup() | pu() | up() turtle.penup() | penup:抬笔(起飞) up pu |
| 抬笔落笔 | pendown() | pd() | down() turtle.pendown() | pendown:落笔(降落) down pd |
| 精准定位 | goto() | setpos() | setposition() turtle.goto(200,100) | 会画一条线段 |
| 绝对位置 | teleport() | 不会画一条线段 |
| 设置小海龟头的朝向角度 | setheading() | seth() turtle.setheading(45) | 逆时针0------>90------>180------>270------>0 |
| 行走 转弯 | forward() | fd() turtle.forward(100) | 前进多少像素 |
| 行走 转弯 | backward() | bk() | back() turtle.backward(100) | 向后多少像素 |
| 行走 转弯 | left() | lt() turtle.left(100) | 向左转 |
| 行走 转弯 | right() | rt() turtle.right(100) | 向右转 |
| 更改画笔画画的速度 | speed() turtle.speed(2) | 速度0~10 |
| 返回原点 | home() | 就是中心 |

2.样式

|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------|
| 画笔 | pen() | 画笔 |
| 画笔 | isdown() | 画笔是否落下 |
| 鼠标线条皮肤切换 | turtle.shape("turtle") | 鼠标箭头形状变成乌龟 还支持的皮肤有:circle triangle square arrow向下的箭头 classic经典 |
| 海龟显示与隐藏 | hideturtle() | ht() turtle.hideturtle() | 隐藏海龟画笔 |
| 海龟显示与隐藏 | showturtle() | st() turtle.showturtle() | 显示海龟画笔 |
| 海龟显示与隐藏 | isvisible() | 是否可见 |
| 线条变粗宽度 | pensize() | width() turtle.pensize(10) | |
| 线条更换颜色 | turtle.color("red") | |
| 线条更换颜色 | turtle.color("red","green") | 画笔色在前(线条),填充色在后(海龟的颜色) |
| 更改画笔的大小 | turtle.shapesize(10) | |
| 角度 | degrees() | |
| 弧度 | radians() | |
| 坐标 | xcor() ycor() | 显示 |
| 坐标 | setx() sety() | 设置 |
| 位置 | position() | pos() | |
| 目标方向 | towards() | |
| 朝向 | heading() | |
| 距离 | distance() | |

3.外观

|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| 形状 | shape() | |
| 大小调整模式 | resizemode() | |
| 形状大小 | shapesize() | turtlesize() | |
| 剪切因子 | shearfactor() | |
| 倾角 | tiltangle() | |
| 倾斜 | tilt() | |
| 变形 | shapetransform() | |
| 获取形状多边形 | get_shapepoly() | |

4.其他

|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------|
| 所有海龟 | turtles() | |
| 撤销上一步 | undo() urtle.undo() | |
| 清空窗口 | clear() turtle.clear() | 清空turtle窗口,turtle的位置和状态不改变 |
| 清空窗口 | reset() turtle.reset() | 重置turtle状态为初始状态 |
| 记录 | begin_poly() | 开始记录多边形 |
| 记录 | end_poly() | 结束记录多边形 |
| 获取多边形 | get_poly() | |
| 克隆 | clone() | |
| 获取海龟画笔 | getturtle() | getpen() | |
| 缓冲区 | setundobuffer() | 设置撤消缓冲区 |
| 缓冲区 | undobufferentries() | 撤消缓冲区条目数 |

四:颜色

|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|
| 颜色 | color() | |
| 画笔颜色 | pencolor() | |
| 换背景颜色 | bgcolor() turtle.bgcolor("black") | |
| 更换线条颜色 | turtle.color("red") | |
| 更换线条颜色 | turtle.color("red","green") | 画笔色在前(线条),填充色在后(海龟的颜色) |
| 填充颜色 | fillcolor()填充颜色 filling() 是否填充 begin_fill() 开始填充 end_fill() 结束填充 turtle.color("red") #1.选定颜色 turtle.begin_fill() #2.开始填充 turtle.circle(175) #3.画封闭图形 turtle.end_fill() #4.结束填充 | 基本步骤 |
| 填充颜色 | turtle.color() | 三原色(rgb) 0~1小数 0~1分数 0~255整数 |

五:文字

|---------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|
| 书写 write() | turtle.write("刘鑫磊",align="center",font=("Vivaldi",30,"normal")) 书写内容 对齐方式 字体 字号 样式 |
| 书写 write() | align:center、left、right 字体:Arial、Forte、宋体、黑体... 样式:normal正常、italic斜体、bold黑体 |
| 文本输入 | textinput() |
| 数字输入 | numinput() |

六:图形

|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|
| 获取形状 | getshapes() | |
| 添加形状 | register_shape() | addshape() | |
| 复制当前图形 | stamp() | |
| 画圆 | circle() | |
| 画点 | dot() | |
| 印章 | stamp() | 印章 |
| 印章 | clearstamp() | 清除印章 |
| 印章 | clearstamps() | 清除多个印章 |
| 画圆 | turtle.circle(200) | 画圆(默认逆时针,参数是半径) |
| 画圆 | turtle.circle(200,90) | 画圆(半径,弧度) |
| 画圆 | turtle.circle(200,90,3) | 画圆(半径,弧度,对应边数的内切正多边形) |

七:事件

1.鼠标事件

|-------|------------------------------------------------------------------------------------------------------|---|
| 当鼠标点击 | onclick() | |
| 当鼠标释放 | onrelease() | |
| 当鼠标拖动 | ondrag() | |

2.键盘事件

|--------|------------------------------------------------------------------------------------------------------------------------------------|---|
| 键盘按下 | onkey() screen.onkey(函数,'需要监听的键') screen.listen() | |
| 键盘松开 | onkeypress() | |
| 键盘按下松开 | onkeyrelease() | |

3.屏幕事件

|-------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| 监听 | listen() | |
| 当点击屏幕 | onclick() | onscreenclick() | |
| 当达到定时 | ontimer() | |
| 主循环 | mainloop() | done() | |

八:动态

|----|---------------------------------------------------------------------------------------------|---|
| 延迟 | delay() | |
| 追踪 | tracer() | |
| 更新 | update() | |

相关推荐
编程修仙1 小时前
Collections工具类
linux·windows·python
芝麻团坚果1 小时前
对subprocess启动的子进程使用VSCode python debugger
linux·ide·python·subprocess·vscode debugger
EterNity_TiMe_1 小时前
【论文复现】神经网络的公式推导与代码实现
人工智能·python·深度学习·神经网络·数据分析·特征分析
Stara05112 小时前
Git推送+拉去+uwsgi+Nginx服务器部署项目
git·python·mysql·nginx·gitee·github·uwsgi
hence..2 小时前
Vscode写markdown快速插入python代码
ide·vscode·python
DanielYQ3 小时前
LCR 001 两数相除
开发语言·python·算法
vener_3 小时前
LuckySheet协同编辑后端示例(Django+Channel,Websocket通信)
javascript·后端·python·websocket·django·luckysheet
封步宇AIGC4 小时前
量化交易系统开发-实时行情自动化交易-4.2.3.指数移动平均线实现
人工智能·python·机器学习·数据挖掘
互联网杂货铺4 小时前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
小汤猿人类4 小时前
SpringTask
开发语言·python