python学习2:turtle的使用蟒蛇绘制的学习以及自己摸索的等边三角形绘制(跟随mooc学习)

时间:2022-03-02 09:21:09

首先先放上蟒蛇的绘制程序

import turtle#引入外部库#def保留字用于 定义函数

def drawSnake(rad,angle,len,neckrad):
for i in range(len):
turtle.circle(rad,angle)
#画圆,rad圆形轨迹半径的位置
#angle表示小乌龟沿着圆形爬行的弧度
turtle.circle(-rad,angle)
turtle.pencolor("red")
turtle.pencolor("blue")
turtle.circle(rad,angle/2)
turtle.fd(rad)#乌龟向前直线爬行,参数表示爬行的距离
turtle.circle(neckrad+1,180)
turtle.fd(rad*2/3) def main():
turtle.setup(1300,800,0,0)
#启动了一个图形窗口(宽度,高度,左上角在屏幕中的位置)
pythonsize=30
turtle.pensize(pythonsize)
#小乌龟运行轨迹的宽度
turtle.pencolor("blue")
#小乌龟运行轨迹的颜色
turtle.seth(-40)
#启动时候运行的方向
drawSnake(40,80,5,pythonsize/2)
#启动绘制蟒蛇的功能 main()#去执行main()函数 Python语法元素
import turtle
import是一个关键字,用来引入一些外部库,
这里的含义是引入一个名字交turtle的函数库
使用turtle库,同学们头脑里需要有这样一个概念: 
想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,
(0,0)位置开始 
它根据一组函数指令的控制,在这个平面坐标系中移动,从
而在它爬行的路径上绘制了图形
def定义函数
 def用于定义函数,这段程序中,共出现两次def关键词,
包含两个函数drawSnake和main。 
函数是一组代码的集合,用于表达一个功能,或者说,函
数表示一组代码的归属,函数名称是这段代码的名字。 
def所定义的函数在程序中未经调用不能直接执行,需要
通过函数名调用才能够执行。
程序运行
 可以看到,两个def语句定义的函数所包含语句与def行
存在缩进关系,def后连续的缩进语句都是这个函数的一部
分。
 由于def定义的函数在程序中未经调用不会被执行,整个
程序第一条执行的语句是main(),它表示执行名字为main()
的函数。
从而,该程序跳转到main()函数定义的一组语句中执行,
即开始执行turtle.setup()语句
同样的,main()函数的最后一条语句调用了drawSnake()
函数,当执行到这条语句时,程序跳转到drawSnake()函
数中运行。
程序
 程序运行main()函数中语句,遇到setup函数
Turtle中的turtle.setup()函数用于启动一个图形窗口,
它有四个参数
turtle.setup(width,height,startx,starty)
分别是:启动窗口的宽度和高度
表示窗口启动时,窗口左上角在屏幕中的坐标位置。
我们所使用的显示屏幕也是一个坐标系,该坐标系以
左上角为原点,向左和向下分别是x轴和y轴。
蟒蛇程序代码启动一个1300像素宽、800像素高的窗
口,该窗口的左上角是屏幕的左上角。
Turtle中的turtle.pensize()函数表示小乌龟运动轨迹
的宽度。
它包含一个输入参数,这里我们把它设为30像素,用
pythonsize变量表示。
 Turtle中的turtle.pencolor()函数表示小乌龟运动轨迹
的颜色。
它包含一个输入参数,这里我们把它设为蓝色,blue,
其他颜色单词也可以使用。Turtle采用RGB方式来定义
颜色,如果希望获得和图片中颜色一致的小蛇,请输入
turtle.pencolor(“#3B9909”)
Turtle中的turtle.seth(angle)函数表示小乌龟启动时
运动的方向。它包含一个输入参数,是角度值。
其中,0表示向东,90度向北,180度向西,270度向
南;负值表示相反方向。
程序中,我们让小乌龟向-40度启动爬行,即:向东南
方向40度。
main()函数给出了小乌龟爬行的窗体大小,爬行轨迹
颜色和宽度以及初始爬行的方位。
最后,调用drawSnake函数启动绘制蟒蛇功能。
drawSnake函数有四个参数,根据调用时给出的参数,
分别将40传递给rad、80给angle,5给len,15给
neckrad
turtle.circle()函数功能
 turtle.circle()函数让小乌龟沿着一个圆形爬行
参数rad描述圆形轨迹半径的位置
这个半径在小乌龟运行的左侧rad远位置处,如果
rad为负值,则半径在小乌龟运行的右侧 
参数angle表示小乌龟沿着圆形爬行的弧度值
turtle.fd()函数功能
turtle.fd()函数也可以用turtle.forward()表示乌龟向
前直线爬行移动
表示小乌龟向前直线爬行移动,它有一个参数表示爬
行的距离 下面是通过学习绘制蟒蛇自行完成的绘制等边三角形的程序:
import turtle

#绘制等边三角形
def main():
turtle.setup(1300, 800, 0, 0)
pythonsize=20
turtle.pensize(pythonsize)
turtle.pencolor("red")
turtle.seth(0)
turtle.fd(200)
turtle.pencolor("yellow")
turtle.seth(120)
turtle.fd(200)
turtle.pencolor("blue")
turtle.seth(240)
turtle.fd(200)
main()