Python从入门到入土 一:Python 基本图形绘制(turtle库+for循环+实例)

点这里进入我的博客,获得更好的体验!

搜索框中搜索这篇博客即可,已做迁移,支持一下咯~

Python 基本图形绘制

Turtle库基本介绍

  • turtle库是turtle绘图体系的python实现,python的标准库之一
  • Python计算生态 = 标准库 + 第三方库
  • 标准库:随解释器直接安装到操作系统中的功能模块
  • 第三方库:需要经过安装才能使用的功能模块
  • turtle是一种真实的存在,想象有一只海龟在窗体中心,在画布上游走,走过的轨迹形成图形,可以改变海龟的颜色宽度等。

Turtle的使用

- Turtle的绘图窗体

turtle.setup(width, height, startx, starty)
前面个表示窗体的大小,后两个参数是可选参数,表示窗体左上角位置相对于屏幕左上角的坐标,默认生成在桌面中间。

- Turtle的空间坐标体系

绝对坐标:海龟最开始在画布的正中心为(0,0)
turtle.goto(x,y) 命令海龟移动到绝对坐标的点(x,y)
海龟坐标:以海龟为原点,海龟运行的方向为前进方向
turtle.circle(r,angle)以海龟当前运行方向左侧的某个点以曲运行
turtle.fd(d) turtle.bk(d) 向前(后)移动

- Turtle的角度坐标体系

turtle.seth(angle) 只改变海龟行进方向不改变行进,angle为绝对度数。如下图为绝对角度示意图
IRI0L4WTOYZV

turtle.left(angle) turtle.right(angle)海龟视角下,相对角度向左(右)转

-RGB色彩体系

RGB每色取值范围0-255整数或者0-1的小数
turtle.colormode(mode) 1.0表示RGB小数模式,255整数模式

Turtle库语法元素分析(结合代码)

PythonDraw. py

-库引用

  • 使用import保留字完成,采用<a>.<n>()编码风格

import <库名>
<库名>.<函数名>(<函数参数>)

  • from+import
from <库名> import *
<函数名>(<函数参数>)
<函数名>(<函数参数>)
...

会出现函数名重名的问题

  • import+as

库名的重命名 import<库名> as <库别名>

- 部分函数介绍

  • 画笔控制函数

turtle.penup() turtle.pendown() 画笔的抬起和放下
turtle.pensize(width) == turtle.width() 画笔宽度
turtle.pencolor(color) color为颜色字符串或rgb值

  • 运动控制函数

turtle.forward(d) == turtle.fd(d) d:行进距离(像素),可为负数
turtle.circle(r,extent=None) 根据半径绘制extent角度的弧形,圆心默认海龟左侧r距离的位置,extent为绘制的角度,默认整圆

2020-07-25J}HH7KJWPSXMZB3_OK8T31

  • 方向控制函数

turtle.setheading(angle) == turtle.seth(angle)
turtle.left(angle) turtle.right(angle)

- 循环与range()

for <变量> in range (<参数>) # <变量>表示每次循环的计数,0到次数-1
    <循环执行的语句>

range(start, stop[, step]) 产生 [start,stop)的一个整数列表,step表示步长,默认为1

实例

- 绘制八角边形

import turtle as t#重命名turtle库为t
t.pensize(2) #画笔大小为2像素
for i in range(8):#八条边 八次循环
    t.fd(100)#每条边长100像素	
    t.left(45)#计数可得每次需要向左转45°

在这里插入图片描述

-绘制蟒蛇

import turtle #挺好理解的对照 搞懂每个函数的意思就行
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("red")
turtle.seth(-40)
for i in range(4):
    turtle.circle(40,80)
    turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()

在这里插入图片描述

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值