zoukankan      html  css  js  c++  java
  • Python turtle学习笔记

    题记:初学python的turtle库,特将学习到的知识点记下  ,以便日后的回顾学习

        ①turtle库基本函数介绍 ;②绘图举例

                                                                      

    Turtle库的基本函数

    这个表格记录了常用的几个函数

    命令

    说明

    turtle.setup(a,b,c,d)
    •   (a, b): 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例
    •   (c, d): 这一坐标表示 矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心
    turtle.bgcolor("color")

    设置画布背景颜色

    turtle.fd(x) 顺着画笔当前方向前进x(正负)
    turtle.bk(x) 画笔移动到(a,b),当前方向不变
    turtle.goto(a,b) 画笔移动到(a,b),当前方向不变
    turtle.circle(r,angle) 画笔以r为半径,逆时针旋转angle(正负)度
    turtle.seth(angle)(绝对角度) 改变当前画笔的方向,但不行进
    turtle.left(angle)(海龟角度) 当前画笔方向左转angle度
    turtle.right(angle)(海龟角度) 当前画笔方向右转angle度
    turtle.colormode(mode) 1.0RGB小数模式(一般); 255RGB整数值模式
    turtle.speed(speed) 画笔绘制的速度范围[0,10]整数
    turtle.penup()/turtle.up() 画笔抬起
    turtle.pendown()/turtle.down() 画笔放下
    turtle.pensize(a) 设置画笔大小为a像素
    turtle.pencolor(“red”) 设置画笔颜色为红色( 其他 )
    turtle.fillcolor(颜色字符串) 绘制图形的填充颜色
    turtle.begin_fill() 准备开始填充图形
    turtle.end_fill() 填充完成
    turtle.hideturtle() 隐藏箭头显示
    turtle.showturtle() 显示箭头
    turtle.done() 画图结束,手动关闭绘图窗口


    还有一些全局控制命令

    命令说明
    turtle.clear() 清空turtle窗口,但是turtle的位置和状态不会改变
    turtle.reset() 清空窗口,重置turtle状态为起始状态
    turtle.undo() 撤销上一个turtle动作
    turtle.isvisible() 返回当前turtle是否可见
    stamp() 复制当前图形
    turtle.write(s[,font=("font-name",font_size,"font_type")]) 写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项, font的参数也是可选项

    绘图举例

    在绘图过程中,经常想让海龟(即画笔)移动到某一点,这时就需要抬起画笔,移动,然后落下。因为使用频率较高,所以可以设计一个函数将这个步骤简单化。 

    def MoveTurtle(x,y):
        t.up()
        t.goto(x,y)
        t.down()
    

      

    这样在后续的绘图中就可直接调用。

    太极图

     1 import turtle as t 
     2 
     3 R = 360                    #太极圆半径
     4 t.setup(800,800)
     5 t.pensize(5)
     6 
     7 def MoveTurtle(x,y):
     8     t.up()
     9     t.goto(x,y)
    10     t.down()
    11 
    12 t.fillcolor('black')
    13 t.begin_fill()
    14 MoveTurtle(0,R)
    15 t.circle(-R,180)
    16 t.circle(-R/2,180)
    17 t.circle(R/2,180)
    18 t.end_fill()
    19 t.begin_fill()
    20 MoveTurtle(0,R/3)
    21 t.circle(-R/6)
    22 t.end_fill()                #绘制黑色部分
    23 
    24 MoveTurtle(0,R)
    25 t.circle(R,180)
    26 t.fillcolor('white')
    27 t.begin_fill()
    28 MoveTurtle(0,-R/3)
    29 t.circle(-R/6)
    30 t.end_fill()               #绘制白色部分
    31 
    32 t.hideturtle()
    33 t.done()

    国际象棋

     1 #国际象棋盘.py
     2 import turtle as t  
     3 width = eval(input())     #输入小方格的边长
     4 t.speed(10)
     5 
     6 def MoveTurtle(x,y):
     7     t.up()
     8     t.goto(x,y)
     9     t.down()
    10     
    11 def DrawSquare (width):
    12     t.begin_fill()
    13     t.fillcolor('black')
    14     for i in range(4):
    15         t.fd(width)
    16         t.left(90)
    17     t.end_fill()                   #绘制黑色方格
    18 
    19 x  = 0 
    20 while(x < 8*width):
    21     y=x 
    22     MoveTurtle(x,y)
    23     DrawSquare(width)
    24     while(y < 8*width):
    25         y = y+(2*width)
    26         if y < (8*width):
    27             MoveTurtle(x,y)
    28             DrawSquare(width)
    29             MoveTurtle(y,x)
    30             DrawSquare(width)
    31     x = x+width                       #以网格建立坐标系,确定坐标点绘制小黑方格
    32 
    33 MoveTurtle(0,0)
    34 for i in range(4):
    35     t.forward(8 * width)
    36     t.left(90)                       #绘框
    37     
    38 t.hideturtle()
    39 t.done()

  • 相关阅读:
    js localtion.href 数据传输
    java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver 找不到jar包的问题,路径问题
    java 深度拷贝 复制 深度复制
    解决java在对MySQL插入数据时出现乱码问题
    python最大最小距离算法贴近度评价法
    java 连接数据库报错:Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value '
    java map 转 json 自编封装
    java 连接MySQL的代码
    在前端发起ajax遇到问题
    java map转json servlet response
  • 原文地址:https://www.cnblogs.com/nicefurmine/p/12520493.html
Copyright © 2011-2022 走看看