turtle库的使用


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()

效果:

练习

  1. 使用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()

效果:

  1. 使用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()

效果:

  1. 简述import <模块名>/from <模块名> import */import <模块名> as <新模块名>三者的区别

答:import<模块名>:是将此模块导入进来,它导入的是对象

​ from <模块名> import *:是将此模块的所有方法导入进来,它导入的方法

​ import <模块名> as <新模块名>:是将用新的模块名代替此模块名

  1. 设计程序,要求:循环打印数列`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()

效果:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM