示例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个

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐