zoukankan      html  css  js  c++  java
  • python库——Turtle

     Turtle库是Python中非常常用的绘制图像函数库

    画笔状态

    penup():抬起画笔;
    pendown():落下画笔;
    pensize(width):画笔宽度;

    画笔运动

    forward(d)/fd(d): 向前移动距离d
    backward(d)/bd(d): 向后移动距离d
    left(angle):向左转angle度;
    right(angle):向右转angle度;
    goto(x,y):移动到绝对位置;
    home() : 移动到原点;
    circle(r, extent = None):绘制半径为r,角度为extent的弧形;
    setheading(angle)/seth(angle):改变前进方向;
    undo():撤销最后的动作;
    speed():将速度设置为0..10范围内整数;

    eg:

    太阳花

    from turtle import *
    color('red', 'yellow')
    begin_fill()
    while True:
        forward(200)
        left(170)
        if abs(pos()) < 1:
            break
    end_fill()
    done()

     平安果

    from turtle import *
    setup(600, 600, 0, 0)
    pensize(5)
    up()
    goto(0, -200)
    down()
    
    # 先画一个圆,并填充为红色
    begin_fill()
    color("red")
    circle(radius=150)
    end_fill()
    
    # 画苹果把儿
    color("brown")
    penup()
    goto(-90, 0)
    pendown()
    circle(180, 40)
    penup()
    setheading(105)
    goto(-20, 20)
    pendown()
    circle(180, 50)
    pendown()
    
    # 画左边叶子
    begin_fill()
    color("green")
    circle(180, 50)
    setheading(-30)
    circle(180, 55)
    end_fill()
    
    # 画右边叶子
    begin_fill()
    color("green")
    setheading(0)
    circle(180, 50)
    setheading(-180)
    circle(180, 50)
    end_fill()
    done()

     玫瑰花

    from turtle import *
    # 设置初始位置
    penup()
    left(90)
    forward(200)
    pendown()
    right(90)
     
    # 花蕊
    fillcolor("blue")
    begin_fill()
    circle(10,180)
    circle(25,110)
    left(50)
    circle(60,45)
    circle(20,170)
    right(24)
    forward(30)
    left(10)
    circle(30,110)
    forward(20)
    left(40)
    circle(90,70)
    circle(30,150)
    right(30)
    forward(15)
    circle(80,90)
    left(15)
    forward(45)
    right(165)
    forward(20)
    left(155)
    circle(150,80)
    left(50)
    circle(150,90)
    end_fill()
     
    # 花瓣1
    left(150)
    circle(-90,70)
    left(20)
    circle(75,105)
    setheading(60)
    circle(80,98)
    circle(-90,40)
     
    # 花瓣2
    left(180)
    circle(90,40)
    circle(-80,98)
    setheading(-83)
     
    # 叶子1
    forward(30)
    left(90)
    forward(25)
    left(45)
    fillcolor("green")
    begin_fill()
    circle(-80,90)
    right(90)
    circle(-80,90)
    end_fill()
     
    right(135)
    forward(60)
    left(180)
    forward(85)
    left(90)
    forward(80)
     
    # 叶子2
    right(90)
    right(45)
    fillcolor("green")
    begin_fill()
    circle(80,90)
    left(90)
    circle(80,90)
    end_fill()
     
    left(135)
    forward(60)
    left(180)
    forward(60)
    right(90)
    circle(200,60)
    done()

  • 相关阅读:
    form表单的两种提交方式,submit和button的用法
    ORACLE SEQUENCE用法(转)
    hive优化
    Hive分区表创建、分类
    Hive体系结构
    Hive入门指南
    mysql统计表中条目个数的方法举例
    mysql如何快速创建相同结构的表
    VMware Workstation下VMnet1等虚拟网卡与主机网卡之间的关系
    linux命令详解——lsof
  • 原文地址:https://www.cnblogs.com/baby123/p/14184357.html
Copyright © 2011-2022 走看看