当前位置:首页>python>春招_python基础_p24_turtle模块.py

春招_python基础_p24_turtle模块.py

  • 2026-09-23 11:11:46
春招_python基础_p24_turtle模块.py

知识点:turtle常用函数绘图

turtle(海龟绘图)是Python内置的标准库,提供了一种直观的绘图方式:通过控制屏幕上的小海龟移动来绘制图形。它特别适合初学者学习编程逻辑和几何概念。

一、核心概念与画布设置

概念/函数
说明
画布
海龟移动的窗口区域
turtle.Pen()
创建一支画笔(海龟)
turtle.done()
保持绘图窗口不关闭
turtle.bgcolor("white")
设置背景颜色

二、常用绘图函数

1. 移动与绘制

函数
作用
示例代码
forward(d)
向前移动d像素
t.forward(100)
backward(d)
向后移动d像素
t.backward(50)
circle(r)
绘制半径为r的圆
t.circle(80)
circle(r, extent)
绘制圆弧(extent为角度)
t.circle(100, 360/n)
goto(x, y)
移动到指定坐标
t.goto(0, 0)

2. 方向控制

函数
作用
示例代码
left(angle)
向左转angle度
t.left(90)
right(angle)
向右转angle度
t.right(45)
setheading(angle)
设置朝向角度
t.setheading(0)
(朝右)

3. 画笔属性设置

函数
作用
示例代码
pensize(width)
设置画笔粗细
t.pensize(20)
pencolor(color)
设置画笔颜色
t.pencolor("red")
speed(speed)
设置绘图速度(1-10)
t.speed(1)
(最慢)

4. 笔的状态控制

函数
作用
示例代码
penup()
抬起画笔(移动不画线)
t.penup()
pendown()
落下画笔(移动画线)
t.pendown()
hideturtle()
隐藏海龟图标
t.hideturtle()
showturtle()
显示海龟图标
t.showturtle()

三、绘图代码示例

①画多个圆
import turtle as mypenfor x in [80,40,20,10,5]:    mypen.circle(x)  #绘制半径为x的圆    mypen.forward(x) #向前移动x像素,让圆错开mypen.done()
  • circle(x) - 绘制半径为x的圆

  • forward(x) - 移动后让下一个圆的位置偏移,形成嵌套效果

  • 循环遍历列表,依次绘制不同大小的圆

②画弧线粗细不一的圆

import turtle as t n=8for i in range(8):    if i%2==0:         # 偶数索引(0,2,4,6)        t.pensize(20)  # 粗画笔    else:              # 奇数索引(1,3,5,7)        t.pensize(2)   # 细画笔    t.circle(100, 360/n)  # 绘制圆弧(每次画45度)t.done()
  • pensize() - 动态改变画笔粗细

  • i%2==0 - 利用取模运算实现粗细交替

  • circle(100, 360/n) - 绘制圆弧,每次只画圆的一部分

  • 组合8段圆弧形成一个完整的圆

③画正多边形

import turtlen = int(input('请输入正多边形的边数n:'))  # 用户输入边数a = int(input('请输入边长a:'))            # 用户输入边长d = (n-2)*180 / n          # 计算正多边形的内角度数t = turtle.Pen()for i in range(n):    t.speed(1)             # 设置最慢速度,便于观察    t.forward(a)           # 绘制一条边    t.left(180-d)          # 左转外角角度(外角=180-内角)turtle.done()
  • 数学原理:正n边形内角 = (n-2)×180° / n,外角 = 180° - 内角

  • input() - 获取用户输入,实现交互式绘图

  • speed(1) - 控制绘图速度,便于观察绘制过程

  • 循环n次,每次画一条边并旋转,形成封闭多边形

④画多彩圆

import turtlet = turtle.Pen()turtle.bgcolor("white")     # 设置白色背景colors = ["red","green","blue","yellow"]  # 颜色列表for x in range(100):    t.pencolor(colors[x%4])  # 循环使用4种颜色    t.circle(x)               # 半径逐渐增大    t.left(91)                # 每次旋转91度,形成螺旋效果
  • pencolor() - 动态改变画笔颜色

  • colors[x%4] - 利用取模运算循环切换颜色

  • circle(x) - 半径随循环变量x增大,圆越来越大

  • left(91) - 每次旋转91度(不是90度),形成错位螺旋效果

  • 循环100次,绘制100个圆,形成绚丽图案

四、总结:turtle绘图的特点

特点
说明
直观性强
通过海龟移动直接观察绘图过程
适合初学者
语法简单,即时反馈,激发兴趣
几何概念可视化
直观展示角度、半径、多边形等概念
创意表达
可通过循环和数学规律创作艺术图案
交互性
可接收用户输入,动态改变绘图参数

turtle绘图的核心思想:通过控制海龟的移动距离、转向角度、画笔属性,结合循环结构和数学规律,创造出各种几何图形和艺术图案。

最新文章

随机文章