第二周的内容是上周图形绘制的深入学习。
一、turtle库的使用
1.turtle绘图窗体设置:turtle.setup(width,height,startx,starty)
前两个参数表示绘图窗体的宽度和高度,后两个参数表示绘图窗体左上角的点在整个显示屏左上角的位置,可以通过下图来理解下。其中,startx,starty不是必写项,为空时,默认绘图窗体在显示器的正中心。
2.turtle空间坐标体系:绝对坐标&海龟坐标
a.绝对坐标:
使用方法:turtle.goto(x,y),举例:
b.海龟坐标
使用方法:turtle.fd(d) 向前运行;turtle.bk(d)向后运行;turtle.circle(r,angle)以当前位置左侧的某一个点为圆心曲线运行
3.turtle角度坐标体系:绝对角度&海龟角度
a.绝对角度
使用方法:turtle.seth(angle)
b.海龟角度
使用方法:turtle.left(angle)向左改变运行方向,turtle.right(angle)向右改变运行方向
举例:
我将上面的代码改了下,改成一个正的“Z”字
4.RGB色彩体系
turtle库中默认使用小数值表示颜色,也可使用turtle.colormode(mode)切换成整数值,其中mode参数为1.0,即小数值模式;参数为255,即使用整数值。
二、通过python蟒蛇实例分析turtle程序的语法元素
实例:Python蟒蛇绘制,程序实现如下:
1.库引用import
库引用是为了扩充Python程序功能的一种方式,使用import保留字实现,使用方式有3种:
a.from <库名> import <函数> 或者 from <库名> import *
b.import <库名>
c.import <库名> as <库别名>
使用库种方法:a、b方式使用<库名>.<函数名>();c方式使用<库别名>.<函数名>()
2.turtle画笔控制函数
turtle.penup() 别名turtle.pu() 或者turtle.up():表示将画笔抬起
turtle.pendown() 别名turtle.pd():表示画笔落下,与penup成对出现
turtle.pensize(width) 别名turtle.width(width):表示画笔的宽度
turtle.pencolor(color) :表示画笔的颜色, 其中color参数为rgb,有三种形式,如下
3.turtle运动控制函数
turtle.forward(d) 别名 turtle.fd(d) :表示向前行进(走直线),d为负数时表示往相反方向行进;
turtle.circle(r,extent=None) :表示以当前位置左侧为r的地方为圆心,画角度为extent的弧形(走曲线),extent默认时360度整圆
4.turtle方向控制函数(只改变行进方向,不真正行动)
turtle.setheading(angle) 别名 turtle.seth(angle):表示改变海龟的行进方向
turtle.left(angle):表示海龟向左转
turtle.right(angel):表示海龟向右转
5.循环语句与range()函数
循环语句:for <变量> in range(<参数>)
>>> for i in range(5):
print(i)
0
1
2
3
4
>>> for i in range(5):
print("Hello:",i)
Hello: 0
Hello: 1
Hello: 2
Hello: 3
Hello: 4
注:print函数循环输出会自带换行;print函数输出加逗号会自带空格
range()函数:产生循环计数序列
使用方法:range(N):产生0到N-1的整数序列,共N个,如range(5) ,产生0,1,2,3,4
range(M,N):产生M到N-M的整数序列,共N-M个,如range(2,5),产生2,3,4
另外,蟒蛇程序最后一行turtle.done()函数可以注意下,在文件式描写方法中,最后使用改函数,表示程序运行完成后不会自动退出,需要手动关闭窗体退出。
三、练习与作业
这次的测试题比较简单,程序设计是填空题,两题都是对的,可以记录下来实际编写下。选择题有两道错了,第2题我一直在A、D之间犹豫,D选项是对的,A选项是错误的;第4题海龟的当前进行方向我理解成可变的了,题目中就是指x轴方向。
我在敲这两个图形的时候想着怎么才能让这两个打印在一张绘图窗体上?后面就将代码改了下,角度没找好,显示的不够整齐。
Over!