python学习之路

第二周
海龟库,绘制图形

#PythonDraw.py
import turtle
#导入了海龟的库
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
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()

2-3turtle库的使用
在这里插入图片描述

Python计算生态(之后会讲到)=标准库+第三方库
标准库:随解释器直接安装到操作系统中的功能模块
第三方库:需要安装才能使用的功能模块库library,包package,模块module统称模块

Turtle的绘图窗体:
比如绘制100长的直线,指的是一百像素。
以下介绍turtle的函数库:
首先是turtle的
Setup(width,height,startx,starty)函数:设置启动窗体的位置和大小
Startx:表示窗体的左边框和电脑左屏幕的左边框之间的距离
Starty:表示窗体的上边框和电脑上屏幕的边框之间的距离
这两个参数可选
Setup():不是必须的

Turtle空间坐标体系:绝对坐标和海龟坐标
Turtle.goto(x,y)
在这里插入图片描述
绝对坐标:
在这里插入图片描述
海龟坐标:
在这里插入图片描述
在这里插入图片描述
bk表示往反方向运行:
fd表示往正方向运行:
Circle:表示以海龟当前位置左侧的某一个点为圆心去进行曲线运行

Turtle角度坐标体系:
在这里插入图片描述
在这里插入图片描述
Seth()改变海龟行进方向
Seth()只改变方向,但不前进
Angle这个参量为绝对度数
Left()和right()分别让海龟向左或者向右去进行旋转,里面的参数是旋转的角度

比如:举一个例子:

import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)

绘制的图形如下:
Fd():里面的参数是指像素,fd表示像前面前进
在这里插入图片描述

RGB色彩体系:对绘制的图形加上颜。
三种颜色构成了万物色:
RGB指的是红绿蓝三种颜色的通道.并且由三种颜色通道进行色彩组合
覆盖了视力所能感知的所有颜色
RGB每种色取值范围0-255整数或者0-1小数
在这里插入图片描述
RGB色彩模式:默认采用小数值 可切换为整数值
Turtle.colormode(mode)
-1.0:RGB小数值模式
-255:RGB整数值模式

2.3总结:
Turtle库的海龟绘图法
-turtle-setup()调整绘图窗体再电脑中的布局
-画布上以中心为远点的空间坐标系:绝对坐标和海龟坐标
画布上以空间x轴为0的角度坐标系:绝对角度和海龟角度
海龟坐标和海龟角度都是以当前位置和朝向的位置而决定的
RGB色彩体系,整数值和小数值,色彩模式切换

2-4turtle程序语法分析:
1.库引用和import保留字,以及turtle更多用法
2.Turtle画笔控制函数
3.Turtle运动控制函数
4.Turtle方向控制函数
5.基本循环语句和range函数
6.-python蟒蛇绘制“代码分析”

一.库引用和import保留字
库引用:扩充python程序功能的方式
使用import保留字完成,采用.( )编码风格
Import<库名>
<库名>.<函数名>(<函数参数>)

关于import的更多用法:
(1)使用from和import保留字共同完成
例如:
from<库名>import<函数名>
from<库名>import*

之后调用函数的时候,不要用库名.去进行调用了。
然后直接 ->函数名(参数)就可以直接调用了

改进后如下:

from turtle import *
setup(650,350,0,)
penup()
fd(-250)
pendown()
pensize(25)
pencolor("yellow")
seth(-40)
for i in range(4):
    circle(40,80)
    circle(-40, 80)
circle(40,80/2)
fd(40)
circle(16,180)
fd(40*2/3)
done()

两种方法各有优缺点:
第一种方法不会出现函数重名的方式。
库名+函数名->它是新程序的函数名

第二种方法可能会带来函数的名称和程序自定义的名臣可能会冲突
(2)对库名去进行取别名
比如对turtle库进行取别名:可以写成这样子
Import turtle as t
那么之前的代码可以改成这样子:
import turtle as t

#导入了海龟的库
t.setup(650,350,0,)
t.penup()
t.fd(-250)
t.pendown()
t.pensize(25)
t.pencolor("yellow")
t.seth(-40)
for i in range(4):
    t.circle(40,80)
    t.circle(-40, 80)
t.circle(40,80/2)
t.fd(40)
t.circle(16,180)
t.fd(40*2/3)
t.done()

二.画笔控制函数
在这里插入图片描述
四个函数分别是:
Penup( )别名turtle.pu()
Pensize() 别名turtle.width(width)
Pendown() 别名turtle.pd()
Pencolor(color) :涂上颜色
Color的参数有三种颜色:
(1)颜色字符串:注意是小写
(2)RGB的小数值turtle.pencolor(0.63,0.13,0.94)
(3)RGB元组值(形成一种独立元素):turtle.pencolor((0.63,0.13,0.94))
三.运动控制函数
控制海龟行进:走直线or走曲线
Turtle.forward(d) 别名 turtle.fd(d): 向前前进。负数表示向后退。单位是像素

Turtle.circle(r,extent=None)
表示的是:根据半径r绘制extent角度的弧形
r :默认圆心再海龟左手侧r距离的位置
但是第二个参数没有给的情况下:默认绘制的是圆形
在这里插入图片描述
三.方向控制函数
在上述实例中:turtle.seth(-40)
控制海归面对方向:绝对角度和海龟角度
可以改变行进方向:
Turtle.setheading(angle) 别名:turtle.seth(angle)
在这里插入图片描述

Turtle.left(angle) 海龟向左转
Turtle.right(angle) 海龟向右转
上面仅仅改变的是方向,如果需要运动,那么就要行走

看看代码: turtle.seth(-40):将海龟的方向坐标系改变为绝对值-40°方向

四.循环语句和range函数
在这里插入图片描述
在这里插入图片描述
参数表示的是循环的次数:
在这里插入图片描述

Range函数–产生循环计序列
主要是两种用法
1.-range(N):产生0到N-1的整数序列,共N个

2.-range(M,N):产生M到N-1的整数序列,工N-M个
在这里插入图片描述
最后对代码进行一个总结:

#PythonDraw.py
import turtle
#导入了海龟的库
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
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()

分析:
引入海龟->设置窗体->将海龟的画笔抬起->设置倒退250像素->海龟落笔
//至此状态是:海龟现在的位置是原来位置的左边的某一位置上。
->设置腰围设置海龟为25个像素->设置画笔的颜色为紫色->将海龟方向改为绝对值的-40度方向->准备启动绘制python蟒蛇
//以上做出了准备工作
->接下来四个循环,将海龟走曲线,40像素为半径绘制80的弧度。再反向->在以40°的方式绘制半径为40的小半个图形->往前走->做出半圆->再往前走->之后就是保存

关于turtle.done():可以避免程序自动退出。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值