精华内容
下载资源
问答
  • 使用turtle库画一朵玫瑰花 效果见 https://img-blog.csdnimg.cn/20190517222529805.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDUwNTU...
  • python 使用turtle库画图

    千次阅读 2019-11-13 11:29:55
    Turtle库是python中较流行的函数库。 Turtle的基础知识表: 画布大小 canvas 我们展开用于绘画区域,可以设置大小、初始位置和背景颜色 screensize(canvwidth=None, canvheight=None, bg=None) ...

    Turtle库是python中较流行的函数库。

    Turtle的基础知识表:

    画布大小  
    canvas我们展开用于绘画区域,可以设置大小、初始位置和背景颜色screensize(canvwidth=None, canvheight=None, bg=None)
    canvwidth画布的宽度、单位像素 
    canvheight画布的高度、单位像素 
    bg画布的背景、默认为(400,300,None) 
       
    画布位置  
    setup设置画布的位置setup(width=0.5, height=0.75, startx=None, starty=None)
    width输入的宽,单位像素,为小数时是屏占比 
    height输入的高,单位像素,为小数时是屏占比 
    startx,starty表示矩形窗口左上角顶点的位置。如果为空,则窗口位于屏幕中心 
       
    画笔  
    画笔状态坐标原点为朝x轴的小乌龟 
    pensize()画笔的宽度 
    pencolor()画笔颜色 
    speed()画笔的速度,区间[0-10],数字越大越快 
    forward()向当前画笔方向移动多少像素长度 
    backward()向当前画笔反方向移动多少像素长度 
    right()画笔顺时针移动多少角度 
    left()画笔逆时针移动多少角度 
    pendown()移动时绘制图形,缺省时也为绘制 
    goto(x,y)将画笔移动到坐标(x,y)的位置 
    penup()移动时暂时不绘制,用于另起一个地方绘制时用 
    circle()画圆,半径未正负,表示圆心在画笔的左边(右边)画圆 
    fillcolor(string)图形填充颜色 
    begin_fill()准备开始填充图形 
    end_fill()填充完成 
    hideturtle()隐藏箭头显示 
    showturtle()显示箭头 
    clear()全局清空turtle窗口,但是turtle位置状态不变 
    reset()清空窗口,重置为起始状态 
    undo()撤销上一个动做 
    isvisible()返回当前turtle是否可见 
    stamp()复制当前图形 
    write(s,font)写文本,s是文本内容,font为字体参数(字体名称,大小,类型),font=("font-name",font_size,"font_type")
       
    其他命令  
    done()/mainloop()启用事件循环,必须是turtle图形程序中的最后一个语句 
    delay设置或返回以毫秒为单位的绘画延迟 
    begin_poly()开始记录多边形的顶点,当前的乌龟位置是多边形的第一个顶点 
    end_poly()结束记录多边形的顶点,当前的乌龟位置是多边形的最后一个顶点,且将与第一个顶点相连 
    get_poly()返回最后记录的多边形 

    mode()

    设置turtle模式,并执行。如果没给出模式,默认为当前模式

     
     
     
       
    模式初始龟标题正角度
    standard向右(东)逆时针
    logo向上(北)顺时针

    画布就是我们绘画的区域,我们可以设置他的大小和初始位置:

    如:screensize(canvwidth=None, canvheight=None, bg=None)中设置宽高和背景

    或者: turtle.setup(width=800,height=800, startx=100, starty=100)设置的是画布大小和坐标表示矩形窗口左上角顶点的位置,

    画笔就是设置画笔的属性,颜色,宽度 

     

    实例:

     

    画爱心:

    #!/usr/bin/python
    # -*-coding:utf-8 -*-
    
    from turtle import *
    def curvemove():
                     #这个函数是为了绘制爱心上方的曲线
         for i in range(200):
              right(1)
              fd(1)
     
    pensize(2)                  #调整画笔粗细
    speed(100)                   #调节画笔速度
    color('red','pink')          #画笔颜色及填充颜色
    begin_fill()                #开始填充
    left(140)
    fd(111.65)
    curvemove()                 #调用函数
    left(120)
    curvemove()                 #调用函数
    fd(111.65)
    end_fill()                  #结束填充
    hideturtle()                #隐藏画笔
    done()

    结果:

    画正方形曲线

    #!/usr/bin/python
    # -*-coding:utf-8 -*-
    from turtle import * 
    def draw_begin():
        n = 5
        for i in range(1,10):
            for j in [90,180,-90,0]:
                seth(j)
                fd(n)
                n += 5
    
    
    if __name__=="__main__":
        draw_begin()
        hideturtle()
        done()

    效果:

    画五角星:

    #!/usr/bin/python
    # -*-coding:utf-8 -*-
    from turtle import * 
    import time
    
    def main():
        pensize(5)
        pencolor('yellow')
        fillcolor('red')
    
        begin_fill()
        for i in range(5):
            forward(200)
            right(144)
        end_fill()
        time.sleep(2)
        penup()
        hideturtle()
        goto(-150,-120)
        color('violet')
        write("Done", font=('Arial', 40, 'normal'))  
        mainloop()
    
    
    if __name__=="__main__":
        main()

    效果图:

    画太阳花:

    #!/usr/bin/python
    # -*-coding:utf-8 -*-
    from turtle import * 
    import time
    def main():
        #screensize(800,600,none)#设置画布大小和背景颜色
        color('red','yellow')#设置画笔颜色红,填充为黄
        setup(width=800,height=600,startx=300,starty=350)#前面设置画布大小。后面设置画布矩形窗口左上角顶点的位置
        speed(9)#速度
    
    
        for i in range(49):
            begin_fill()#开始填充
            forward(200)#前进200像素
            left(170)#逆时针转170毒
            end_fill()#结束填充
        hideturtle()#隐藏画笔
    
    if __name__=="__main__":
        main()
        mainloop()#启动事件循环不然画完就关闭了

    效果图:

    画时钟:

    #!/usr/bin/python
    # -*-coding:utf-8 -*-
    from turtle import * 
    from datetime import *
    
    #写星期几
    def Week(t): 
        week = ["星期一", "星期二", "星期三",  
                "星期四", "星期五", "星期六", "星期日"]
        return week[t.weekday()]
    #写日期
    def Date(t):
        y = t.year
        m = t.month
        d = t.day
        return "%s %d %d" % (y, m, d)  
    
    #抬起画笔,向前运动一段距离放下
    def Skip(step):
        penup()
        forward(step)
        pendown()
    
    #注册turtle的形状,建立表针turtle
    def mkHand(name,length):
        reset()#设置画布为空
        Skip(-length*0.1)#运动
        begin_poly()#开始记录多边形的顶点
        forward(length*1.1)#前进
        end_poly()#结束记录多边形的顶点。且将一第一个顶点相连
        handForm = get_poly()#返回记录的多边形
        register_shape(name,handForm)
    
    
    def Init():
        global secHand,minHand,hurHand,printer #秒,分,时,打印
        mode("logo")#模型,设置为向上,向北,顺时针方向模式
        mkHand("secHand",135)
        mkHand("minHand",120)
        mkHand("hurHand",85)
    
        secHand = Turtle()#画秒的
        secHand.shape("secHand")
        minHand = Turtle()#画分的
        minHand.shape("minHand")
        hurHand = Turtle()#画小时的
        hurHand.shape("hurHand")
    
        for hand in secHand,minHand,hurHand:
            hand.shapesize(1,1,3)
            hand.speed(0)
    
        #建立输出文字的Tutle
        printer = Turtle()
        printer.hideturtle()
        printer.penup()
    
    def SetupClock(radius):
        #建立表的外框
        reset()
        pensize(7)
        for i in range(60):
            Skip(radius)
            if i % 5 == 0 :
                forward(20)
                Skip(-radius-20)
                Skip(radius+20)
                if i == 0:  
                    write(int(12), align="center", font=("Courier", 14, "bold"))  
                elif i == 30:  
                    Skip(25)  
                    write(int(i/5), align="center", font=("Courier", 14, "bold"))  
                    Skip(-25)  
                elif (i == 25 or i == 35):  
                    Skip(20)  
                    write(int(i/5), align="center", font=("Courier", 14, "bold"))  
                    Skip(-20)  
                else:  
                    write(int(i/5), align="center", font=("Courier", 14, "bold"))
                Skip(-radius - 20)  
            else:
                dot(5)
                Skip(-radius)
            right(6)
    
    
    #Tick()绘制日期的动态显示  
    def Tick():
        t = datetime.today()
        second = t.second + t.microsecond * 0.000001  
        minute = t.minute + second / 60.0  
        hour = t.hour + minute / 60.0 
        secHand.setheading(6 * second)  
        minHand.setheading(6 * minute)  
        hurHand.setheading(30 * hour)   
    
        tracer(False)   
        printer.forward(65) 
        printer.write(Week(t), align="center",font=("Courier", 14, "bold"))  #画星期几
        printer.back(130)  
        printer.write(Date(t), align="center",font=("Courier", 14, "bold"))  #画日期
        printer.home()  
        tracer(True)  
    
        # 100ms后继续调用tick  
        ontimer(Tick, 100)  
    
    
    
    
    def main():
        tracer(False)# 打开/关闭龟动画,并为更新图纸设置延迟。
        Init()#初始化
        SetupClock(160)
        tracer(True)
        Tick()
        
    
    
    if __name__=="__main__":
        main()
        mainloop()#启动事件循环不然画完就关闭了

    效果图:

    展开全文
  • 1. 前奏:在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块,想要进行运算可以引入numpy模块。需要注意: 在...

    1. 前奏:

    在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块,想要进行运算可以引入numpy模块。

    需要注意: 在pycharm 中 turtle 是不支持提示的,可能是动态语言的一种毛病吧

    turtle绘图常用的函数有:

    202002261114421.png

    操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令

    (1)画笔运动命令:

    命令 说明

    turtle.forward(distance) 向当前画笔方向移动distance像素长

    turtle.backward(distance) 向当前画笔相反方向移动distance像素长度

    turtle.right(degree) 顺时针移动degree°

    turtle.left(degree) 逆时针移动degree°

    turtle.pendown() 移动时绘制图形,缺省时也为绘制

    turtle.goto(x,y) 将画笔移动到坐标为x,y的位置

    turtle.penup() 移动时不绘制图形,提起笔,用于另起一个地方绘制时用

    turtle.speed(speed) 画笔绘制的速度范围[0,10]整数

    turtle.circle() 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

    (2)画笔控制命令:

    命令 说明

    turtle.pensize(width) 绘制图形时的宽度

    turtle.pencolor() 画笔颜色

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

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

    turtle.filling() 返回当前是否在填充状态

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

    turtle.end_fill() 填充完成;

    turtle.hideturtle() 隐藏箭头显示;

    turtle.showturtle() 与hideturtle()函数对应

    (3) 全局控制命令

    命令 说明

    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的参数也是可选项

    2. 需要说明的

    (1): 在画布上,默认有一个坐标原点为画布中心的坐标轴, 坐标原点上有一只面朝x轴正方向小乌龟. 这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态 这个命令就是goto();

    (2): turtle.circle(radius, extent=None, steps=None)描述: 以给定半径画圆

    参数:

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

    extent(弧度) (optional);

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

    举例:

    circle(50) # 整圆;

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

    circle(120, 180) # 半圆

    (3) 填充 start_fill() end_fill()

    参数为空 表示在一个画笔运动状态结束的时候,填充的内容颜色

    3.具体例子:

    绘制一个正方形

    202002261114422.png

    202002261114423.png

    4.绘制 五角星

    202002261114424.png

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 绘制一个八边形使用turtle库,绘制一个八边形代码:from turtle import *setup(800,800,20,20)penup()left(90)fd(350)left(90)fd(200)pencolor('pink')pensize(25)pendown()fd(-250)left(135)for i in range(7):fd...

    一.绘制一个八边形

    使用turtle库,绘制一个八边形

    代码:

    from turtle import *

    setup(800,800,20,20)

    penup()

    left(90)

    fd(350)

    left(90)

    fd(200)

    pencolor('pink')

    pensize(25)

    pendown()

    fd(-250)

    left(135)

    for i in range(7):

    fd(250)

    right(45)

    done()

    效果:

    1739645-20190715184438934-125261407.png

    二.绘制一个八角图形

    使用turtle库,绘制一个八角图形

    代码

    from turtle import *

    setup(800,800,20,20)

    penup()

    left(90)

    fd(350)

    left(90)

    fd(200)

    left(90)

    pencolor('pink')

    pensize(25)

    pendown()

    for i in range(8):

    fd(600)

    left(135)

    done()

    效果:

    1739645-20190715184534733-274954707.png

    三.简述问题

    简述import <模块名>/from <模块名> import */import <模块名> as <新模块名>三者的区别

    使用import <模块名>,在调用的时候需要先写文件名称再写哪一个函数

    使用from <模块名> import *,导入该模块所有函数方法,则不需要使用据点,只要调用他的名称就可以

    使用import <模块名> as <新模块名>:

    ​假如你嫌datetime这个包名称太长,想要给它取个别名,以后每次用到它的时候都用它的别名代替它,这时就需要用到import <模块名> as <新模块名>:例子如下:

    import datetime as dt

    print(dt.datetime.now())

    四.循环程序设计

    要求:循环打印数列'1,3,5,...,99'

    实现代码:

    n=1

    while n<101:

    k = n % 2

    if k==0:

    pass

    else:

    print(n)

    n=n+1

    实现效果:

    1739645-20190715184700715-348578243.png

    五.绘制一个自己喜欢的图形

    使用turtle库,绘制一个自己喜欢的图形,并截图发到微信群中

    代码:

    from turtle import *

    setup(1000,500,20,20)

    # 外部边框

    penup()

    left(180)

    fd(475)

    left(90)

    fd(200)

    left(90)

    pendown()

    pencolor('pink')

    pensize(15)

    fd(950)

    left(90)

    fd(400)

    left(90)

    fd(950)

    left(90)

    fd(400)

    #内部边框

    penup()

    left(90)

    fd(40)

    left(90)

    fd(40)

    pendown()

    fd(310)

    right(90)

    fd(860)

    right(90)

    fd(310)

    right(90)

    fd(860)

    right(90)

    #汉字"罗"

    penup()

    fd(220)

    right(90)

    fd(45)

    pendown()

    fd(95)

    right(90)

    fd(30)

    right(90)

    fd(95)

    right(90)

    fd(30)

    right(90)

    fd(25)

    right(90)

    fd(30)

    left(90)

    fd(40)

    left(90)

    fd(30)

    left(180)

    fd(30)

    right(90)

    fd(35)

    left(90)

    circle(-50,80)

    circle(-50,-60)

    seth(0)

    fd(35)

    left(270)

    circle(-80,90)

    circle(-80,-65)

    seth(0)

    left(155)

    fd(35)

    seth(0)

    #数字1

    penup()

    fd(120)

    left(90)

    fd(100)

    pendown()

    pencolor('cyan')

    pensize(15)

    right(45)

    fd(30)

    right(135)

    fd(100)

    left(90)

    fd(35)

    right(180)

    fd(70)

    fd(-50)

    # 数字3

    penup()

    left(90)

    fd(30)

    left(90)

    pendown()

    pencolor('purple')

    pensize(15)

    fd(50)

    right(135)

    fd(55)

    circle(30,-300)

    seth(0)

    # 数字1(第二个)

    penup()

    fd(120)

    left(90)

    fd(160)

    left(180)

    pendown()

    pencolor('yellow')

    pensize(15)

    seth(0)

    left(45)

    fd(30)

    right(135)

    fd(100)

    left(90)

    fd(35)

    right(180)

    fd(70)

    seth(0)

    # 数字四

    penup()

    fd(60)

    right(90)

    fd(30)

    pendown()

    pencolor('green')

    pensize(15)

    right(35)

    fd(65)

    seth(0)

    fd(45)

    left(90)

    fd(55)

    left(180)

    fd(75)

    left(180)

    fd(20)

    seth(0)

    fd(15)

    # 汉字“叶”的“口”

    penup()

    fd(55)

    left(90)

    fd(125)

    pendown()

    pencolor('magenta')

    pensize(15)

    seth(0)

    fd(50)

    left(90)

    fd(50)

    left(90)

    fd(50)

    left(90)

    fd(50)

    seth(0)

    #汉字“叶”的“十”

    penup()

    left(90)

    fd(25)

    seth(0)

    fd(75)

    pendown()

    fd(80)

    right(180)

    fd(40)

    left(90)

    fd(85)

    left(180)

    fd(128)

    # 小爱心

    penup()

    left(180)

    fd(100)

    seth(0)

    fd(135)

    right(90)

    fd(120)

    seth(0)

    pendown()

    def curvemove():

    for i in range(200):

    right(1)

    forward(1)

    color('red','pink')

    begin_fill()

    left(140)

    forward(111.65)

    curvemove()

    left(120)

    curvemove()

    forward(111.65)

    end_fill()

    done()

    效果:

    1739645-20190715184615485-1266353183.png

    展开全文
  • 介绍turtle库也叫海龟库,是turtle绘图体系的Python实现。turtle库是Python语言的标准库之一,是入门级的图形绘制函数库。turtle绘图体系:也叫海龟绘图系统,它是在1969年诞生,主要用于程序设计入门的一种绘图方式...

    (1).介绍

    turtle库也叫海龟库,是turtle绘图体系的Python实现。turtle库是Python语言的标准库之一,是入门级的图形绘制函数库。

    turtle绘图体系:也叫海龟绘图系统,它是在1969年诞生,主要用于程序设计入门的一种绘图方式。

    Python计算生态 = 标准库 + 第三方库

    标准库:随解释器直接安装到操作系统中的功能模块。

    第三方库:需要经过安装才能使用的功能模块。

    (2).原理

    turtle(海龟)是真实的存在,可以想象成一只海龟在窗体正中间,由程序控制在画布上游走,走过的轨迹形成了绘制的图形,可以变换海龟的颜色和宽度等。这里海龟就是我们的画笔。

    (3).turtle的绘图窗体布局

    绘制turtle图形首先需要一个绘图窗体,在操作系统上表现为一个窗口,它是turtle的一个画布空间。在窗口中使用的最小单位是像素,例如要绘制一个100单位长度的直线,就是指100像素长的直线。

    在一个操作系统上,将显示器的左上角坐标定义为(0,0),那么我们将窗体的左上角定义为turtle绘图窗体的坐标原点,相对于整个显示器坐标为(startx,starty)。这里可以使用turtle.setup(width,height,startx,starty)来设置启动窗体的位置和大小,当然setup()函数并不是必须的。而且在setup()函数中startx和starty参数是可选的,如果没有指定这两个参数,那么系统会默认该窗体在显示器的正中心。

    参数说明:

    width和height:如果是整数,则为像素大小;如果是浮点数则为屏幕的百分比。width默认为屏幕的50%,height默认为屏幕的70%。

    startx和starty:如果为正,则为距屏幕左侧或顶部的像素长度;如果为负,则为举例屏幕右侧或底部的像素长度;如果为None,则水平或垂直居中。

    949069-20200304144158478-1784111072.png

    (4).turtle空间坐标体系

    在turtle窗体内部形成了一个空间坐标体系,包含绝对坐标和海龟坐标两种。

    1)绝对坐标

    对于绝对坐标来讲,turtle也就是海龟最开始出现的地方,即画布的正中心作为绝对坐标的(0,0)。海龟的运行方向向着画布的右侧,所以整个窗体的右方向为x轴,上方向为y轴,由此构成了绝对坐标系。

    绝对坐标系在绘图时经常用到,与之相关的最重要的函数是turtle.goto(x,y),该函数是让任意位置的海龟到达指定位置。

    949069-20200305103525324-155781195.png

    2)海龟坐标

    对于海龟坐标来讲,无论海龟朝向什么方向,海龟当前行进方向都叫前进方向,反方向是后退方向,左侧是左侧方向,右侧是右侧方向

    949069-20200305111510266-1366397217.png

    与之相关的常用函数有:turtle.fd(d),前进d像素距离;turtle.bk(d),后退d像素距离,海龟方向不变;turtle.circle(r,angle),以海龟左侧为原点,半径为r像素,行进angle度圆形弧度,并且海龟方向改变angle度,如果没有angle,那么行进一个完整的圆。注意:d、r、angle允许负数,意为反方向

    949069-20200305112045843-1393810550.png

    (5).turtle角度坐标体系

    turtle建立了一个空间坐标体系,那么在空间坐标中,海龟行进的方向也有一个角度,同样分为绝对角度和海龟角度。

    1)绝对角度

    对于绝对角度来讲,绝对坐标的x正轴表示0度或360度,y正轴表示90度或-270度,x负轴表示180度或-180度,y负轴表示270度或-90度。

    与之相关的常用函数为turtle.seth(angle),用于改变海龟行进方向,只改变方向不行进。

    949069-20200305133908510-416367913.png

    2)海龟角度

    对于海龟角度来讲,为了更好的改变海龟的行进方向,使用左右的方式来改变它的行进角度。

    与之相关的函数有:turtle.left(angle)和turtle.right(angle),分别让海龟向左或向右改变行进方向。

    949069-20200305141814668-1566811965.png

    (6).turtle的RGB色彩体系

    turtle库中采用了计算机最常见的RGB色彩体系,取值范围可以是0-255的整数,也可以是0-1的小数。

    常用的RGB色彩如下:

    英文名称

    RGB整数值

    RGB小数值

    中文名称

    white

    255,255,255

    1,1,1

    白色

    yellow

    255,255,0

    1,1,0

    黄色

    magenta

    255,0,255

    1,0,1

    洋红

    cyan

    0,255,255

    0,1,1

    青色

    blue

    0,0,255

    0,0,1

    蓝色

    black

    0,0,0

    0,0,0

    黑色

    seashell

    255,245,238

    1,0.96,0.93

    海贝色

    gold

    255,215,0

    1,0.84,0

    金色

    pink

    255,192,203

    1,0.75,0.80

    粉红色

    brown

    165,42,42

    0.65,0.16,0.16

    棕色

    purple

    160,32,240

    0.63,0.13,0.94

    紫色

    tomato

    255,99,71

    1,0.39,0.28

    番茄色

    turtle库默认采用RGB的小数值来表示颜色,当然也可以使用函数turtle.colormode(mode)来切换RGB数值模式。当mode为1.0时表示采用小数值来表现RGB,当mode为255时表示采用整数值来表现RGB。

    与颜色设置相关的函数:turtle.color()、turtle.pencolor()、turtle.fillcolor(),由于设置画笔颜色和填充色;还有turtle.bgcolor(),设置窗体背景色。

    (7).turtle常用函数

    注意:设置参数后,如果没有取消或重新设置,那么当前程序内一直有效。

    1)画笔控制函数

    turtle.penup()、turtle.pu()、turtle.up():抬笔,移动时不绘图

    turtle.pendown()、turtle.pd()、turtle.down():落笔,移动时绘图

    turtle.pensize(width)、turtle.width(width):画笔宽度

    turtle.pencolor(*args):如果不给参数,则返回当前画笔颜色,给出参数则是设定画笔颜色。设置颜色有三种方式的参数,pencolor(colorstring)、pencolor((r,g,b))和pencolor(r,g,b)

    2)运动控制函数

    turtle.forward(distance)、turtle.fd(distance):前进distance像素

    turtle.backward(distance)、turtle.bk(distance)、turtle.back(distance):后退distance像素

    turtle.circle(r,angle):以画笔(海龟)左侧为圆心,半径为r像素,画angle度的圆形。注意:海龟方向同时发生angle度变化

    turtle.goto(x,y)、setpos(x,y)、setposition(x,y):由当前坐标前往指定坐标,这里使用绝对坐标,但画笔方向不会改变

    3)方向控制函数

    turtle.setheading(angle)、turtle.seth(angle):以绝对角度改变方向

    turtle.left(angle)、turtle.lt(angle):以海龟角度向左改变方向

    turtle.right(angle)、turtle.rt(angle):以海龟角度向右改变方向

    4)更多

    (8).实例

    1)绘制一个正方形

    import turtle

    turtle.pensize(2)

    for i in range(4):

    turtle.fd(150)

    turtle.left(90)

    turtle.done()

    效果图:

    949069-20200306102346774-334121190.png

    2)绘制一个正六边形

    import turtle

    turtle.pensize(2)

    for i in range(6):

    turtle.fd(150)

    turtle.left(60)

    turtle.done()

    效果图

    949069-20200306102709962-1385100275.png

    3)绘制一个如图所示的风轮

    949069-20200306103327799-1255426056.png

    import turtle

    turtle.pensize(2)

    for i in range(4):

    turtle.fd(150)

    turtle.left(90)

    turtle.circle(150,-45)

    turtle.goto(0,0)

    turtle.left(45)

    4)绘制一个如图所示的太阳花

    949069-20200306105304678-1426457524.png

    from turtle import *

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

    begin_fill() #开始填充,必须与end_fill()一起使用

    while True: #循环,这里是死循环,通过下方if语句控制跳出循环

    forward(200) #前进200像素

    left(170) #海龟角度,左转170度

    if abs(pos()) < 1: #abs()返回绝对值,pos()返回当前坐标点,合起来是(0,0)到当前坐标的长度,用于判断是否回到(0,0)

    break #跳出循环

    end_fill() #结束填充,运行到这里才会填充颜色

    done() #结束后停留在当前窗口

    5)绘制一个玫瑰花

    import turtle

    turtle.speed(5)

    # 设置初始位置

    turtle.penup()

    turtle.goto(0,200)

    turtle.pendown()

    # 花蕊

    turtle.fillcolor("red")

    turtle.begin_fill()

    turtle.circle(10,180)

    turtle.circle(25,110)

    turtle.left(50)

    turtle.circle(60,45)

    turtle.circle(20,170)

    turtle.right(24)

    turtle.fd(30)

    turtle.left(10)

    turtle.circle(30,110)

    turtle.fd(20)

    turtle.left(40)

    turtle.circle(90,70)

    turtle.circle(30,150)

    turtle.right(30)

    turtle.fd(15)

    turtle.circle(80,90)

    turtle.left(15)

    turtle.fd(45)

    turtle.right(165)

    turtle.fd(20)

    turtle.left(155)

    turtle.circle(150,80)

    turtle.left(50)

    turtle.circle(150,90)

    turtle.end_fill()

    # 花瓣1

    turtle.left(150)

    turtle.circle(-90,70)

    turtle.left(20)

    turtle.circle(75,105)

    turtle.setheading(60)

    turtle.circle(80,98)

    turtle.circle(-90,40)

    # 花瓣2

    turtle.left(180)

    turtle.circle(90,40)

    turtle.circle(-80,98)

    turtle.setheading(-83)

    # 叶子1

    turtle.fd(30)

    turtle.left(90)

    turtle.fd(25)

    turtle.left(45)

    turtle.fillcolor("green")

    turtle.begin_fill()

    turtle.circle(-80,90)

    turtle.right(90)

    turtle.circle(-80,90)

    turtle.end_fill()

    turtle.right(135)

    turtle.fd(60)

    turtle.left(180)

    turtle.fd(85)

    turtle.left(90)

    turtle.fd(80)

    # 叶子2

    turtle.right(90)

    turtle.right(45)

    turtle.fillcolor("green")

    turtle.begin_fill()

    turtle.circle(80,90)

    turtle.left(90)

    turtle.circle(80,90)

    turtle.end_fill()

    turtle.left(135)

    turtle.fd(60)

    turtle.left(180)

    turtle.fd(60)

    turtle.right(90)

    turtle.circle(200,60)

    turtle.done()

    效果图如下:

    949069-20200306114742118-1169822950.png

    6)樱花树(大佬NB!!)

    import turtle as T

    import random

    import time

    # 画樱花的躯干(60,t)

    def Tree(branch, t):

    time.sleep(0.0005)

    if branch > 3:

    if 8 <= branch <= 12:

    if random.randint(0, 2) == 0:

    t.color('snow') # 白

    else:

    t.color('lightcoral') # 淡珊瑚色

    t.pensize(branch / 3)

    elif branch < 8:

    if random.randint(0, 1) == 0:

    t.color('snow')

    else:

    t.color('lightcoral') # 淡珊瑚色

    t.pensize(branch / 2)

    else:

    t.color('sienna') # 赭(zhě)色

    t.pensize(branch / 10) # 6

    t.forward(branch)

    a = 1.5 * random.random()

    t.right(20 * a)

    b = 1.5 * random.random()

    Tree(branch - 10 * b, t)

    t.left(40 * a)

    Tree(branch - 10 * b, t)

    t.right(20 * a)

    t.up()

    t.backward(branch)

    t.down()

    # 掉落的花瓣

    def Petal(m, t):

    for i in range(m):

    a = 200 - 400 * random.random()

    b = 10 - 20 * random.random()

    t.up()

    t.forward(b)

    t.left(90)

    t.forward(a)

    t.down()

    t.color('lightcoral') # 淡珊瑚色

    t.circle(1)

    t.up()

    t.backward(a)

    t.right(90)

    t.backward(b)

    # 绘图区域

    t = T.Turtle()

    # 画布大小

    w = T.Screen()

    t.hideturtle() # 隐藏画笔

    t.getscreen().tracer(5, 0)

    w.screensize(bg='wheat') # wheat小麦

    t.left(90)

    t.up()

    t.backward(150)

    t.down()

    t.color('sienna')

    # 画樱花的躯干

    Tree(60, t)

    # 掉落的花瓣

    Petal(200, t)

    w.exitonclick()

    效果图如下:

    949069-20200306115025882-77467119.png

    展开全文
  • Python Turtle库画

    万次阅读 多人点赞 2019-03-29 15:30:28
    一、树形1 ...from turtle import * from random import * from math import * def tree(n, l): pd() # 下笔 # 阴影效果 t = cos(radians(heading() + 45)) / 8 + 0.25 pencolor(t, t, t) pensize(...
  • import turtle def flyTo(x, y): turtle.penup() turtle.goto(x, y) turtle.pendown() def drawEye(): turtle.tracer(False) a = 2.5 for i in range(120): if 0 <= i < ...
  • 上学期,我们专业学了Python的turtle库,自己花了一两天画了张柯南出来,大家可以看看,蛮有意思的!就是没有上彩色,但我自己认为还是挺完美的,当然也欢迎大家对我的代码进行改进。最后呢,我的运行环境是Anaconda...
  • 今天我们用python的turtle库制作一个简单的图形(新手必看)
  • 相信有不少人学习python 都是听了老前辈的推荐“学python好,python有趣的代码多”比如说画一只小狮子这就是今天想要介绍的绘制图形库-turtle如果也想这样画一只小狮子,或者其他的小动物那就赶紧点赞收藏学起来吧一...
  • Python turtle库画图

    千次阅读 多人点赞 2019-02-28 21:17:14
    第一次尝试用turtle画图,很艰难、不完美但十分具有纪念意义! 我这只小白会在Python的成长道路上越走越远的(ง •̀_•́)ง
  • Python是近些年来一个比较火的编程语言,发展趋势迅猛,前景无限美好,于是学Python的"编程爱好...给我的编程学习带来了前所未有的快乐,时常在网上浏览下Python的有趣的事情,这不,turtle库画图便整理了出来: ...
  • 使用turtle库画图

    2018-12-20 22:01:00
    import turtle# 设置启动窗体的大小和位置,宽度高度,起始点的位置(后两者可选),不是必须的turtle.setup(650,350,200,200)# turtle.goto(100,100) 去某个地方,绝对坐标turtle.penup()turtle.fd(-250) # 正前方向...
  • Python-turtle库画樱花树

    2021-06-16 20:44:11
    本文代码来自下面链接: ...下面是主要的代码和效果: import turtle as t from random import * from math import * def draw(n, l): t.setup(1000, 800) t.pd() # 阴影效果 tt = cos(radians(t.headi
  • python 用turtle库画图

    2018-11-13 23:31:00
    t.Turtle().screen.delay(0) 14 # 书 15 t.pu() 16 t.goto(-310,150 ) 17 t.pd() 18 t.seth(15) # 笔的角度为-30° 19 t.begin_fill() # 外形填充的开始标志 20 t.color( " black " ...
  • 用Python的turtle库画太极

    千次阅读 2021-03-16 18:37:45
    作为一名中医药大学的学生,对太极那是情有独钟,这不,我刚开始学Python不久,便想着用turtle库画一个太极,对turtle库的使用还不熟练,代码量可能有点多…… 代码: import turtle r = 200#太极半径 turtle....
  • turtle库画出一个如所示长方形,长边长80,短边长50,线条粗3像素,线条颜色为黑色,填充颜色为红色</p>
  • 实际效果见本人博客,可用turtle库来画一些自己喜欢的东西,本代码是用来实现画爱心,用py可直接运行
  • turtle模块画笔工具画9个同心圆 for 循环 画笔控制函数: setup() pensize() pencolor() penup() pengoto() pendown() pencircle() 1.引入库 代码如下(示例): #导入turtle模块 import turtle #设置窗口大小,...
  • 使用python的turtle库画一个方格和圆 打开python编译器,导入turtle库 from turtle import * 首先画一个距离为100的横线 forward(100) 顺时针旋转90度,前进100 在通过两次的旋转和平移得到方格,使用for循环重复...
  • Turtle库是Python内置的一个有趣的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。...
  • 用python的turtle库画散点

    千次阅读 2019-08-31 07:53:53
    import turtle #输入样例 #点的个数 #各点的横纵坐标 ''' 6 100 100 -100 -100 -100 100 100 -100 -50 -50 0 0 ''' a=[] n=int(input()) for i in range(n): ta,tb=input().split() ta,tb=float(ta),float(tb) l=...
  • 使用python的turtle库画皮卡丘头
  • Python中turtle库画正方形

    千次阅读 2020-09-07 23:52:36
    Python中turtle库画正方形 import turtle as t#给予turtle库一个t的别称 for i in range(2):#用for循环遍历 t.forward(50)#根据正前方角度画线 t.right(90)#画笔向右旋转 t.backward(50)#根据正后方角度画线 t.right...
  • 好久没玩Python了,拿turtle库来练练手 一开始看到纪念碑谷的图片真的惊呆了我 太漂亮了 这次的图片主要是由俩部分构成 一是三维方框 ...#填充背景 t.seth(180) t.penup() t.fd(400) t.seth(90) t.fd(2...
  • import turtle turtle.pensize(20) turtle.tracer(False) turtle.up() turtle.color("red") turtle.forward(200) turtle.down() turtle.circle(90) turtle.up() turtle.color("green") turtle.ba...
  • 使用python的海龟库画美国队长的盾牌 使用python的海龟库画美国队长的盾牌
  • 1. 前奏:在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块,想要进行运算可以引入numpy模块。需要注意: 在...
  • turtle库画正方形,但是没有画笔的痕迹

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 823
精华内容 329
关键字:

turtle库画图