代码如下:
import turtle
def drawSnake(rad,angle,len,neckrad):
for i inrange(len):
turtle.circle(rad,angle)
turtle.circle(-rad,angle)
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()
知识点:
1. def保留字:定义函数
函数是一组代码的集合,用于表达一个功能,或者说函数表示一组代码的归属,函数名称是这段代码的名字,
def所定义的函数在程序中未经调用不能直接执行,需要通过函数名调用才能够执行。
2. 函数库的引用
第一种在程序头部增加:
import<库名>
>>>import turtle
>>>turtle.fd(100) 库名.函数名
第二种:
from <库名> import <函数名>
from <库名> import *
例:>>>from turtle import *
>>>fd(100) 不再用库名
3. 蟒蛇程序分析:
(1)程序运行main()函数中语句,遇到setup函数,Turtle中的turtle.setup()函数用于启动一个图形窗口,它有四个参数: turtle.setup(width, height, startx, starty)分别是:启动窗口的宽度和高度;表示窗口启动时,窗口左上角在屏幕中的坐标位置。
我们所使用的显示屏幕也是一个坐标系,该坐标系以左上角为原点,向左和向下分别是x轴和y轴。蟒蛇程序代码启动一个1300像素宽、800像素高的窗口,该窗口的左上角是屏幕的左上角。
(2)Turtle中的turtle.pensize()函数表示小乌龟运动轨迹的宽度它包含一个输入参数,这里我们把它设为30像素,用pythonsize变量表示。
(3)Turtle中的turtle.pencolor()函数表示小乌龟运动轨迹的颜色。它包含一个输入参数,这里我们把它设为蓝色,blue,其他颜色单词也可以使用。Turtle采用RGB方式来定义颜色,如果希望获得和图片中颜色一致的小蛇,请输入 turtle.pencolor(“#3B9909”)
(4)Turtle中的turtle.seth(angle)函数表示小乌龟启动时运动的方向。它包含一个输入参数,是角度值。其中,0表示向东,90度向北,180度向西,270度向南;负值表示相反方向。 程序中,我们让小乌龟向-40度启动爬行,即:向东南方向40度。
(5)main()函数给出了小乌龟爬行的窗体大小,爬行轨迹 颜色和宽度以及初始爬行的方位。调用函数启动绘制蟒蛇的功能。
(6)turtle.circle()函数让小乌龟沿着一个圆形爬行,rad描述圆形轨迹半径的位置,
这个半径在小乌龟运行的左侧rad远位置处,如果 rad为负值,则半径在小乌龟运行的右侧,参数angle表示小乌龟沿着圆形爬行的弧度值
(7)turtle.fd()函数也可以用turtle.forward()表示乌龟向前直线爬行移动 表示小乌龟向前直线爬行移动,它有一个参数表示爬行的距离
绘制等边三角形:
代码如下:
importturtle
defmain():
turtle.setup(1300,800,0,0)
turtle.pensize(40)
turtle.pencolor("blue")
turtle.seth(0)
turtle.fd(200)
turtle.seth(120)
turtle.fd(200)
turtle.seth(240)
turtle.fd(200)
main()