目录
turtle库的使用
1、turtle库概述
turtle(海龟)库是turtle绘图体系的Python实现
- turtle绘图体系:1969年诞生,主要用于程序设计入门
- Python语言的标准库之一
- 入门级的图形绘制函数库
2、标准库
Python计算生态=标准库+第三方库
- 标准库:随解释器直接安装到操作系统中的功能模块
- 第三方库:需要经过过安装才能使用的功能模块
- 库Library、包Package、模块Module、统称模块
3、turtle的原理
turtle(海龟)是一种真实的存在
- 有一只海龟,其实在窗体正中心,在画布上游走
- 走过的轨迹形成了绘制的图形
- 海龟由程序控制,可以变换颜色、改变宽度等
Python蟒蛇绘制
设计蟒蛇的基本形状:
代码:
import turtle
turtle.setup(800,600)
turtle.pensize(30)
turtle.pencolor('red')
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.seth(-40)
for i in range(4):
turtle.circle(40,80)
turtle.circle(-40,80)
turtle.seth(0)
turtle.fd(40)
turtle.circle(40,180)
turtle.done()
1、Python语法元素理解
- Python蟒蛇绘制共17行代码,但很多行类似
- 清楚理解这17行代码能够掌握Python基本绘图方法
- 参考框架结构、逐行分析、逐词理解
2、程序参数的改变
- Python蟒蛇的颜色:黑色、白色、七彩色...
- Python蟒蛇的长度:1节、3节、10节...
- Python蟒蛇的方向:向左走、斜着走...
3、计算问题的扩展
- Python蟒蛇绘制问题是各类图像绘制问题的代表
- 圆形绘制、五角星绘制、国旗绘制、机器猫绘制...
- 掌握绘制一条线的方法,就可以绘制整个世界
4、简单字母绘制
import turtle as t
t.setup(800,600)
t.pensize(10)
t.pencolor('red')
t.penup()
t.fd(-250)
t.down()
#o
t.circle(80,360)
#l
t.pencolor('green')
t.penup()
t.fd(130)
t.down()
t.left(90)
t.goto(-120,50)
#d
t.pencolor('blue')
t.right(90)
t.penup()
t.fd(70)
t.right(90)
t.down()
t.goto(-50,0)
t.right(90)
t.circle(-20,180)
#b
t.penup()
t.fd(50)
t.down()
t.circle(-20,180)
t.right(90)
t.goto(0,50)
#0
t.pencolor('black')
t.right(90)
t.penup()
t.fd(80)
t.down()
t.circle(-25,360)
#y
t.pencolor('red')
t.penup()
t.fd(60)
t.right(45)
t.pendown()
t.fd(30)
t.left(90)
t.fd(30)
t.left(180)
t.fd(80)
t.done()
效果:
练习
- 使用turtle库,绘制一个八边形。
import turtle as t
t.setup(800,600)
t.pensize(5)
t.pencolor('black')
t.penup()
t.fd(-150)
t.right(90)
t.fd(150)
t.left(90)
t.pendown()
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.done()
效果:
- 使用turtle库,绘制一个八角图形。
import turtle as t
t.setup()
t.pensize(5)
t.pencolor('black')
t.penup()
t.fd(-150)
t.down()
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.done()
效果:
- 简述
import <模块名>
/from <模块名> import *
/import <模块名> as <新模块名>
三者的区别
答:import<模块名>:是将此模块导入进来,它导入的是对象
from <模块名> import *:是将此模块的所有方法导入进来,它导入的方法
import <模块名> as <新模块名>:是将用新的模块名代替此模块名
- 设计程序,要求:循环打印数列`1,3,5,...,99
i = 1
while i < 100:
print(i)
i = i+2
效果:
自制喜好图
import turtle as t
t.setup(500,500)
t.pensize(5)
t.pencolor('black')
t.penup()
t.fd(-100)
t.left(90)
t.fd(100)
t.left(90)
t.down()
t.fd(30)
t.left(90)
t.fd(150)
t.circle(-30,280)
t.left(100)
t.fd(20)
t.left(90)
t.right(180)
t.penup()
t.fd(50)
t.right(90)
t.down()
t.fd(50)
t.circle(-55,275)
t.penup()
t.fd(50)
t.left(95)
t.down()
t.fd(50)
t.penup()
t.fd(50)
t.right(180)
t.left(90)
t.fd(5)
t.right(85)
t.down()
t.circle(30,80)
t.right(90)
t.fd(15)
t.right(90)
t.penup()
t.fd(30)
t.left(90)
t.fd(20)
t.right(180)
t.pendown()
t.fd(25)
t.right(180)
t.circle(17,150)
# t.penup()
# t.right(45)
# t.fd(20)
# t.right(100)
# t.fd(100)
# t.down()
# t.fd(60)
# t.left(90)
# t.circle(30,180)
t.done()
效果: