• turtle学习笔记续集


    turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制。turtle图形绘制的概念诞生于1969年,成功应用于LOGO编程语言。
    turtle库绘制图形有一个基本框架:一个小海龟在坐标系中爬行,其爬行轨迹形成了绘制图形。刚开始绘制时,小海龟位于画布正中央,此处坐标为(0,0),前进方向为水平右方。
    在Python3系列版本安装目录的Lib文件夹下可以找到turtle.py文件。

    使用import保留字对turtle库的引用有如下3种方式,效果相同:

    (1)import turtle

    则对turtle库中函数调用采用turtle.<函数名>( )形式

    import turtle
    turtle.circle(200)
    
    (2)from turtle import *

    则对turtle库中函数调用采用<函数名>( )形式,不再使用turtle.作为前导

    from  turtle  import  *
    circle(200)
    
    或者,仅导入所使用的函数
    from  turtle  import  circle
    circle(200)
    
    (3)import turtle as t

    保留字as将turtle库给予别名t, 则对turtle库中函数调用采用更简洁的t.<函数名>( )形式

    import turtle as t
    t.circle(200)
    

    turtle库与基本绘图

    turtle库包含100多个功能函数,主要包括窗体函数、画笔状态函数和画笔运动函数3类。
    

    画笔运动函数

    turtle通过一组函数控制画笔的行进动作,进而绘制形状

    forward(distance) :别名 turtle.fd( distance ) 沿着当前方向前进指定距离
    backward(distance) :别名 turtle.bk( distance ) 沿着当前相反方向后退指定距离

    right(angle):改变画笔行进方向为当前方向向右旋转angle角度
    left(angle):向左旋转angle角度

    angle是角度相对值,角度的整数值

    goto( x, y) :移动到画布中的特定位置(x, y)处

    如果当前画笔处于落下状态,则绘制当前位置到目标位置的线条

    setx( x ):修改画笔的横坐标到x,纵坐标不变
    setx( y):修改画笔的纵坐标到y,横坐标不变

    setheading( angle ):设置当前朝向为angle角度

    别名 seth( angle )
    注意:turtle库的角度坐标体系以正东方向为绝对0°,这也是小海龟的初始爬行方向,正西方向为绝对180°,这个方向坐标体系是方向的绝对方向体系,与小海龟爬向当前方向无关。
    因此,可以利用这个绝对坐标体系随时更改小海龟的前进方向

    home( ) :设置当前画笔位置为原点,朝向东
    circle( r, e ):绘制一个指定半径 r 和角度e的圆或弧形
    dot( r, color ):绘制一个指定半径 r 和颜色color的圆点
    undo ( ):撤销画笔最后一步动作
    speed( ):设置画笔的绘制速度,参数在0至10之间

    实例:

    五角星:

    from turtle import *
    setup(400,400)
    penup()
    goto(-100,50)
    pendown()
    color("red")
    begin_fill()
    for i in range(5):
        forward(200)
        right(144)
    end_fill()
    hideturtle()
    done()
    
     
    image.png

    心形

    from turtle import *
    color('red','pink')
    begin_fill()
    left(135)
    fd(100)
    right(180)
    circle(50,-180)
    left(90)
    circle(50,-180)
    right(180)
    fd(100)
    end_fill()
    hideturtle()
    done()
    
    
     
    image.png

    正方形螺旋

    import turtle
    n = 10
    for i in range(1,10,1):
        for j in [90,180,-90,0]:
            turtle.seth(j)
            turtle.fd(n)
            n += 5
    
     



  • 相关阅读:
    Android 的快速增长让一些开发人员担忧 狼人:
    Android程序开发入门教程 狼人:
    2010:Android 商机之年 狼人:
    控制力的较量 Android上的博弈 狼人:
    深度解析Windows Phone 7 开发 狼人:
    图解iPhone开发入门教程 狼人:
    用Android LiveCD体验Android 操作系统的魅力 狼人:
    Android 教程之实现动作感应技术 狼人:
    Android版多功能日历,欢迎大家测试 狼人:
    iPhone、Windows Mobile、Symbian、Android移动开发前景分析 狼人:
  • 原文地址:https://www.cnblogs.com/zzalovelyq/p/turtle2.html
Copyright © 2020-2023  润新知