Turtle程序语法元素分析

库引用与import

Turtle画笔控制函数

Turtle运动方向

Turtle方向控制函数

基本循环语句



“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()

 



库引用

扩充python程序功能的方式

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

        Import<库名>

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

import更多用法:

    使用from和import保留字共同完成

        From <库名> import <函数名>

        From <库名> import *

        <函数名>(<函数参数>)

  例:

                From turtle import *

                setup(650,350,200,200)

                Penup()

                ···

两种方法比较

方法一:

        Import <库名>

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

方法二:

        From <库名> import <函数名>

        From <库名> import *

        <函数名>(<函数参数>)

第一种方法不会出现函数重名问题(如果程序很长,引用的库很多建议使用这个)

第二种方法会出现(如果程序很短可以使用)

 

方法三:

        使用import和as保留字共同完成

        Import<库名> as <库名>

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

        给调用的外部库关联一个更短、更适合自己的名字

            例如:

            Import turtle as t

            t.setup(650,350,200,200)

            t.penup()

            ···

这种方法冗余的代码量最少同时也避免了函数重名的问题,所以在未来的编程过程中也建议大家使用这种方式

 



Turtle画笔控制函数

画笔操作后一直有效,一般成对出现(这里指以下两个函数)

        turtle.penup() 别名 turtle.pu()

                抬起画笔,海龟在天上飞(不会在画布留下痕迹)

        turtle.pendown() 别名 turtle.pd()

                落下画笔,海龟在爬行(绘图,海龟落下才会在画布留下痕迹)

 

画笔设置一直有效,直至下次重新设置

        turtle.pensize(width) 别名 turtle.width(width)

                画笔宽度,海龟的腰围

        turtle.pencolor(color) color为颜色字符串或RGB值

                画笔颜色,海龟在涂装

 

Pencolor(color)的color参数可以有三种形式:

颜色字符串:turtle.pencolor(“purple”)

RGB的小数值:turtle.pencolor(0.63,0.13,0.94)

RGB的元组值:turtle.pencolor((0.63,0.13,0.94))

 



turtle运动控制函数

控制海龟行进:走直线&走曲线

        turtle.forward(d) 别名 turtle.fd(d)

                向前行进,海龟走直线

        d:行进距离,可以为负数(负数为倒退)

 

        Turtle.circle(r,extent=None)

                根据半径r绘制extent角度的弧形

        r:默认圆心在海龟左侧r距离的位置(r为负数时在海龟右侧)

        Extent:绘制角度,默认是360度整圆(画个圈)

 



Turtle方向控制函数

控制海龟面对方向:绝对角度&海龟角度

绝对角度:

    turtle.setheading(angle)     别名     turtle.seth(angle)

            改变行进方向,海龟走角度

            angle:改变行进方向,海龟走角度

                        例如:turtle.seth(45) 将海龟转向为绝对坐标系下的45度方向

海龟角度:

    Turtle.left(angle) 海龟向左转

    Turtle.right(angle) 海龟向右转

            Angle:在海龟当前行进方向上旋转的角度

 

注意:放行控制函数只改变海龟的方向,并不实际让海龟行动,如果想要让海龟行动使用运动函数

 



循环语句

按照一定次数循环执行一组语句

        for <变量> in range (<参数>):

        <被循环执行的语句>

        <变量>表示每次循环的计数,0到<次数>-1

 

Range()函数:

        产生循环计数序列

            Range(N)

                    产生0到-1的整数徐磊,共N个

            Range(M,N)

                    产生M到N-1的整数序列,共N-M个

 



Python蟒蛇绘制实例分析

#PythonDraw.py         #注释

import turtle         #引入海龟绘图体系

turtle.setup(650,350,200,200)         #设定窗体大小和所在屏幕位置

turtle.penup()         #将画笔抬起

turtle.fd(-250)         #让海龟倒退250像素

turtle.pendown()         #画笔落下

turtle.pensize(25)         #设置海龟尺寸

turtle.pencolor("purple")         #设置海龟颜色

turtle.seth(-40)         #改变海龟绝对坐标角度

for i in range(4):         #引入循环(循环以下缩进代码4次)

    turtle.circle(40,80)         #40像素为半径,绘制80度弧度

    turtle.circle(-40,80)         #反向四十度为半径,绘制80度

turtle.circle(40,80/2)         #40度角度,绘制40度(这里理解为老师故意这样写或一次性输入多行代码后字节增加个/2,如果不对还请大神指教)

turtle.fd(40)         #前进40个像素

turtle.circle(16,180)         #以左方16个像素为半径,绘制180度

turtle.fd(40 * 2/3)         #三分之二的40个像素,大概23.3个像素,

turtle.done()         #加上这个代码,程序执行完不会主动退出,需要手工退出

 

小结

库引用:import、form···import、import···as···

Penup()、pendown()、pensize()、pencolor()

Fd()、circle()、seth()

循环语句:for和in、range()函数

 

野兔

2019.4.12