python中对turtle库的学习笔记

2020-02-26  本文已影响0人  朵朵灵玉

1.turtle库的引用:    

 1)import turtle   引入绘图库    

      import   <库名>

      <库名>. <函数名>

      程序中每个函数都需要加turtle库名

2)from和import 共同完成

      from <库名> import*

       <函数名>

        程序中每个函数不需要加库名,但是如果有多个库,库中存在相同函数,或者自变量于函数名重合,会造成 引用错误。

3)import 和 as共同完成

      import  turtle as  t

       t. <函数名>

     给调用外部库关联一个更简单的名字t,调用 t. <函数名>,即简便又不会重名。

2.turtle画布控制函数

1)turtle绘图窗体

       turtle.setup(width,height,startx,starty)   

        setup()设置窗体的大小和窗体的位置;4个参数中后两个可选;setup()不是必选,

        输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,为空表示窗口位于屏幕中心。

2)turtle空间坐标体系和角度坐标体系

         turtle .gotu(100,100)     直接转到坐标为(100,100)的位置。

turtle.setx( ):将当前x轴移动到指定位置

turtle.sety( ):将当前y轴移动到指定位置

3.turtle画笔控制函数

      turtle.penup()别名turtle.pu():拾起画笔,海龟在飞行

      turtle.pendown()别名turtle.pd():放下画笔,海龟在爬行

      turtle.color(color1, color2):同时设置pencolor=color1, fillcolor=color2。

      turtle.pencolor(color)  有三种方式:

                                          turtle.pencolor(‘purple’) 

                                           turtle.pencolor(255,255,255)

                                           turtle.pencolor(1,1,1) 

       turtle.fillcolor(colorstring):绘制图形的填充颜色

       turtle.home():设置当前画笔位置为原点,朝向东。

       turtle.dot(r):绘制一个指定直径和颜色的圆点。

       turtle.begin_fill():准备开始填充图形。

       turtle.end_fill():填充完成。

       turtle.hideturtle():隐藏画笔的turtle形状。

       turtle.showturtle():显示画笔的turtle形状

3.turtle运动控制函数

      1)走直线

          turtle.forward(distance)(别名:turtle.fd):向当前画笔方向移动distance像素长度。

          turtle.backward(distance):向当前画笔相反方向移动distance像素长度。注意转向不变

      2)走曲线

         turtle.right(angle):顺时针移动angle

          turtle.left(angle):逆时针移动angle。

         turtle.circle(radius, extent=None, steps=None)

        描述:以给定半径画圆

        参数:

        radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;

        extent(弧度) (optional);

        steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。

       举例:

        circle(50) # 整圆;

        circle(50,steps=3) # 三角形;

        circle(120, 180) # 半圆

4.turtle方向控制函数、

        1)绝对角度

                    turtle.seth(angle) :只改变海龟方向但不行进,angle为绝对角度可正可负。

        2)海龟角度

                     turtle.right(anger):顺时针移动anger。

                     turtle.left(anger):逆时针移动anger。

5.基本循环语句

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

        <被循环执行的语句>     

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

              range 函数产生循环计数序列

              range(N)产生0到N-1的整数序列,共N个

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

6.举例分析

1)太阳花

代码:

from turtle import *

begin_fill()  #准备开始填充图形

pensize(2) #设置画笔的宽度

color('red','yellow') #设置画笔颜色为蓝色,填充颜色为绿色

while True:

    forward(200) #画笔移动200个像素长度

    left(170)  #逆时针移动170°

    if abs(pos())<1: #判断画笔是否回到起点

        break

end_fill()  #结束填充图形

done()

2)玫瑰花

代码:

from turtle import *

#global pen and speed

pencolor("black")

fillcolor("red")

speed(50)

s=0.15

#init poistion

penup()

goto(0,600*s)

pendown()

begin_fill()

circle(200*s,30)

for i in range(60):

    lt(1)

    circle(50*s,1)

circle(200*s,30)

for i in range(4):

    lt(1)

    circle(100*s,1)

circle(200*s,50)

for i in range(50):

    lt(1)

    circle(50*s,1)

circle(350*s,65)

for i in range(40):

    lt(1)

    circle(70*s,1)

circle(150*s,50)

for i in range(20):

    rt(1)

    circle(50*s,1)

circle(400*s,60)

for i in range(18):

    lt(1)

    circle(50*s,1)

fd(250*s)

rt(150)

circle(-500*s,12)

lt(140)

circle(550*s,110)

lt(27)

circle(650*s,100)

lt(130)

circle(-300*s,20)

rt(123)

circle(220*s,57)

end_fill()

lt(120)

fd(280*s)

lt(115)

circle(300*s,33)

lt(180)

circle(-300*s,33)

for i in range(70):

    rt(1)

    circle(225*s,1)

circle(350*s,104)

lt(90)

circle(200*s,105)

circle(-500*s,63)

penup()

goto(170*s,-330*s)

pendown()

lt(160)

for i in range(20):

    lt(1)

    circle(2500*s,1)

for i in range(220):

    rt(1)

    circle(250*s,1)

fillcolor('green')

penup()

goto(670*s,-480*s)

pendown()

rt(140)

begin_fill()

circle(300*s,120)

lt(60)

circle(300*s,120)

end_fill()

penup()

goto(180*s,-850*s)

pendown()

rt(85)

circle(600*s,40)

penup()

goto(-150*s,-1300*s)

pendown()

begin_fill()

rt(120)

circle(300*s,115)

lt(75)

circle(300*s,100)

end_fill()

penup()

goto(430*s,-1370*s)

pendown()

rt(30)

circle(-600*s,35)

done()

3)玫瑰花

代码:

import turtle

turtle.screensize(600,500,'white')

turtle.pensize(3)          #设置画笔宽度为3

turtle.pencolor('blue')    #设置画笔颜色为黑色

turtle.fillcolor('yellow')  #设置填充颜色为黄色

turtle.begin_fill()        #开始填充

turtle.forward(-300)

for i in range(3,8):

    turtle.circle(20, steps=i)

    turtle.forward(100)

turtle.circle(20)

turtle.end_fill()

turtle.hideturtle()        #隐藏海龟

turtle.done()

    

上一篇 下一篇

猜你喜欢

热点阅读