python实现 Python蟒蛇绘制(嵩天老师 )
示例2:Python蟒蛇绘制思维准备:-问题1 计算机绘图是什么原理?一段程序为何能够产生窗体?为何能在窗体上绘制图形?-问题2 P樱桃红蟒蛇绘制从哪里开始呢?如何绘制一条线?如何绘制一个弧形?如何绘制一个蟒蛇?编写代码:#PythonDraw.pyimport turtleturtle.setup(650,350,200,200)turtle.penup()turtle.fd(-250)turt
示例2:Python蟒蛇绘制
思维准备:
-问题1 计算机绘图是什么原理?
一段程序为何能够产生窗体?为何能在窗体上绘制图形?
-问题2 P樱桃红蟒蛇绘制从哪里开始呢?
如何绘制一条线?如何绘制一个弧形?如何绘制一个蟒蛇?
编写代码:
#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()
代码分析:
#PythonDraw.py 注释内容,python绘图 import turtle impor为保留字,引入了一个叫turtle的绘图库 turtle.setup(650,350,200,200) 窗口宽650,高350,窗口左边距电脑屏幕左边200,窗口上边距电脑屏幕上边200 turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") turtle.seth(-40) 定初始点的信息,抬起画笔在海龟当前位置的-250的地方落笔,海龟大小为25,颜色为紫色,朝向-40的方向 for i in range(4): turtle.circle(40,80) turtle.circle(-40,80) 循环4次,每次都先以40为半径走80度,再以-40为半径走80度 turtle.circle(40,80/2) 40度为半径绘制少半个弧形 turtle.fd(40) 向前行进40 turtle.circle(16,180) 以180度为半径,转16度 turtle.fd(40*2/3) 向前走40的三分之二 turtle.done() 保证程序运行完不会直接退出
举一反三:
-Python蟒蛇的颜色:黑色、白色、七彩色等
-Python蟒蛇的长度:1节、3节、10节等
-Python蟒蛇的方向:向左走、斜着走等
-其他Python图形的绘制
turtle库的使用
turtle.setup(width,height,startx,starty)
-setup()设置窗体的大小及位置
两个例子:(默认:窗口在屏幕的正中间)
turtle空间坐标体系
1、绝对坐标
turtle.goto(x,y)
-goto()从当前位置,去到哪里
例:
2、海龟坐标(以海龟的角度向前、向后、向左或向右)
角度:
turtle.seth(angle)绝对角度
-seth()改变海龟行进方向
-seth()只改变方向但不行进
RGB色彩模式
-RGB指红蓝绿三个通道的颜色组合
-覆盖视力所能感知的所有颜色
-RGB每色取值范围0-255整数或0-1小数
RGB常用颜色表: RGB颜色对照表(太长了,这里仅附上网址)
扩充Python程序功能的方式
1、使用import保留字完成,采用<a>.<b>()编码风格
import<库名>
<库名>.<函数名>(<函数参数>)
import更多用法
2、使用from和import保留字共同完成
from<库名>import<函数名>
from<库名>import*
<函数名>(<函数参数>)
两种方式对比图:
-第一种方法不会出现函数重名问题
-第二种方法虽然简短但可能会存在与用户定义函数重名的情况
3、使用import和as保留字共同完成
import<库名>as<库别名>
<库别名>.<函数名>(<函数参数>)
-给调用的外部库关联一个更短、更适合自己的名字,可以使程序冗余的代码量最少,同时又防止了库重名的问题
画笔操作后一直有效,一般成对出现
-turtle.penup() 别名 turtle.pu()
抬起画笔,海龟在飞行
-turtle.pendown() 别名 turtle.pd()
落下画笔,海龟在爬行
-turtlr.pensize(width) 别名 turtle.width(width)
画笔宽度,海龟的腰围
-turtle.pencolor(color) color为颜色字符串(如:"purple"字符串形式且需小写)或r,g,b(如:0.63,0.13,0.94小数形式或(0.63,0.13,0.94)元组形式)
画笔颜色,海龟在涂装
运动控制函数
-turtle.forward(d) 别名 turtle.fd(d)
向前行进,海龟走直线
-d:行进距离,可以为负数
-turtle.circle(r,extent=None)(走曲线)
根据半径r绘制extent角度的弧形
-r:默认圆心在海龟左侧r距离的位置
-extent:绘制角度,默认是360度整圆
举两个例子:(第二个参数默认为一个整圆)
绝对角度
-turtle.setheading(angle) 别名 turtle.seth(angle)
改变行进方向,海龟走角度
-angle:改变行进方向,海龟走角度
注:seth仅改变海龟的方向,海龟并不会行进
海龟角度
-turtle.left(angle) 海龟向左转
-turtle.right(angle) 海龟向右转
-angle:在海龟当前行进方向上旋转的角度
for in结构和range()函数
语句格式:
for <变量> in range (<参数>)(参数就是循环的次数)
<被循环执行的语句>
-<变量>表示每次循环的计数,0到<次数>-1
两个例子:
range()函数,产生循环计数序列
-range(N)
产生0到N-1的正整数序列,共N个
-range(M,N)
产生M到N-1的整数序列,共N-M个
更多推荐
所有评论(0)