精华内容
下载资源
问答
  • 动态生成樱花效果图(这个是动态的):import turtle as Timport randomimport time# 画樱花的躯干(60,t)def Tree(branch, t):time.sleep(0.0005)if branch > 3:if 8 <= branch <= 12:if random.randint(0, 2...

    动态生成樱花

    效果图(这个是动态的):

    68d9911393e9

    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()

    飘落效果

    效果图:

    68d9911393e9

    代码:

    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(n/3)

    forward(l)#画树枝

    if n>0:

    b = random()*15+10 #右分支偏转角度

    c = random()*15+10 #左分支偏转角度

    d = l*(random()*0.25+0.7) #下一个分支的长度

    #右转一定角度,画右分支

    right(b)

    tree(n-1,d)

    #左转一定角度,画左分支

    left(b+c)

    tree(n-1,d)

    #转回来

    right(c)

    else:

    #画叶子

    right(90)

    n=cos(radians(heading()-45))/4+0.5

    pencolor(n,n*0.8,n*0.8)

    circle(3)

    left(90)

    #添加0.3倍的飘落叶子

    if(random()>0.7):

    pu()

    #飘落

    t = heading()

    an = -40 +random()*40

    setheading(an)

    dis = int(800*random()*0.5 + 400*random()*0.3 + 200*random()*0.2)

    forward(dis)

    setheading(t)

    #画叶子

    pd()

    right(90)

    n = cos(radians(heading()-45))/4+0.5

    pencolor(n*0.5+0.5,0.4+n*0.4,0.4+n*0.4)

    circle(2)

    left(90)

    pu()

    #返回

    t=heading()

    setheading(an)

    backward(dis)

    setheading(t)

    pu()

    backward(l)#退回

    bgcolor(0.5,0.5,0.5)#背景色

    ht()#隐藏turtle

    speed(0)#速度 1-10渐进,0 最快

    tracer(0,0)

    pu()#抬笔

    backward(100)

    left(90)#左转90度

    pu()#抬笔

    backward(300)#后退300

    tree(12,100)#递归7层

    done()

    暗色效果

    效果:

    68d9911393e9

    代码

    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(n / 4)

    forward(l)

    if n > 0:

    b = random() * 15 + 10

    c = random() * 15 + 10

    d = l * (random() * 0.35 + 0.6)

    right(b)

    tree(n - 1, d)

    left(b + c)

    tree(n - 1, d)

    right(c)

    else:

    right(90)

    n = cos(radians(heading() - 45)) / 4 + 0.5

    pencolor(n, n, n)

    circle(2)

    left(90)

    pu()

    backward(l)

    bgcolor(0.5, 0.5, 0.5)

    ht()

    speed(0)

    tracer(0, 0)

    left(90)

    pu()

    backward(300)

    tree(13, 100)

    done()

    two 玫瑰花

    效果(有绘制过程)

    展开全文
  • https://blog.csdn.net/zengxiantao1994/article/details/76588580 turtle库常用函数+几个编程代码
    展开全文
  • Python海龟turtle画图常见画图代码大全

    千次阅读 多人点赞 2021-09-05 22:22:27
    import turtle # 设置初始位置 turtle.penup() # 提起画笔 turtle.left(90) # 逆时针旋转九十度 turtle.fd(200) # 向前移动一段距离 fd=forward turtle.pendown() # 放下画笔移动画笔开始绘制 turtle.right(90) # ...

    转载于https://blog.csdn.net/July__July/article/details/99543992
    玫瑰花

    import turtle
    
    # 设置初始位置
    turtle.penup()  # 提起画笔
    turtle.left(90)  # 逆时针旋转九十度
    turtle.fd(200)  # 向前移动一段距离 fd=forward
    turtle.pendown()  # 放下画笔移动画笔开始绘制
    turtle.right(90)   # 顺时针旋转九十度
    
    # 花蕊
    turtle.fillcolor("red")  # 填充颜色
    turtle.begin_fill()  # 开始填充
    turtle.circle(10, 180)  # 画一圆,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)  # urtle.setheading(angle) 或 turtle.seth(angle):改变行进方向 angle:行进方向的绝对角度,可以为负值
    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()
    

    画爱心

    import turtle
    import time
    
    
    # 画爱心的顶部
    def LittleHeart():
        for i in range(200):
            turtle.right(1)
            turtle.forward(2)
    
    
    # 输入表白的语句,默认I Love you
    love = input('Please enter a sentence of love, otherwise the default is "I Love you": ')   #
    # 输入署名或者赠谁,没有不执行
    me = input('Please enter pen name, otherwise the default do not execute: ')
    if love == '':
        love = 'I Love you'
    # 窗口大小
    turtle.setup(width=900,height=500)
    # 颜色
    turtle.color('red', 'pink')
    # 笔粗细
    turtle.pensize(3)
    # 速度
    turtle.speed(1)
    # 提笔
    turtle.up()
    # 隐藏笔
    turtle.hideturtle()
    # 去到的坐标,窗口中心为0,0
    turtle.goto(0, -180)
    turtle.showturtle()
    # 画上线
    turtle.down()
    turtle.speed(1)
    turtle.begin_fill()
    turtle.left(140)
    turtle.forward(224)
    # 调用画爱心左边的顶部
    LittleHeart()
    # 调用画爱右边的顶部
    turtle.left(120)
    LittleHeart()
    # 画下线
    turtle.forward(224)
    turtle.end_fill()
    turtle.pensize(5)
    turtle.up()
    turtle.hideturtle()
    # 在心中写字 一次
    turtle.goto(0, 0)
    turtle.showturtle()
    turtle.color('#CD5C5C', 'pink')
    # 在心中写字 font可以设置字体自己电脑有的都可以设 align开始写字的位置
    turtle.write(love, font=('gungsuh', 30,), align="center")
    turtle.up()
    turtle.hideturtle()
    time.sleep(2)
    # 在心中写字 二次
    turtle.goto(0, 0)
    turtle.showturtle()
    turtle.color('red', 'pink')
    turtle.write(love, font=('gungsuh', 30,), align="center")
    turtle.up()
    turtle.hideturtle()
    # 写署名
    if me != '':
        turtle.color('black', 'pink')
        time.sleep(2)
        turtle.goto(180, -180)
        turtle.showturtle()
        turtle.write(me, font=(20,), align="center", move=True)
    
    # 点击窗口关闭
    window = turtle.Screen()
    window.exitonclick()
    
    

    画樱花树

    from turtle import *
    from random import *
    from math import *
    class Tree:
        def __init__(self):
            setup(1000, 700)
            bgcolor(1, 1, 1)  # 背景色
            # ht()  # 隐藏turtle
            speed(10)  # 速度 1-10渐进,0 最快
            # tracer(1, 100)    # 设置绘图屏幕刷新频率,参数1设置在正常刷新频次的第参数1次刷新,参数2设置每次刷新的时延
            tracer(0, 0)
            pu()  # 抬笔
            backward(100)
            # 保证笔触箭头方向始终不向下,此处使其左转90度,而不是右转
            left(90)  # 左转90度
            backward(300)  # 后退300
        def tree(self, n, l):
            pd()  # 下笔
            # 阴影效果
            t = cos(radians(heading() + 45)) / 8 + 0.25
            pencolor(t, t, t)
            pensize(n / 1.2)
            forward(l)  # 画树枝
            if n > 0:
                b = random() * 15 + 10  # 右分支偏转角度
                c = random() * 15 + 10  # 左分支偏转角度
                d = l * (random() * 0.25 + 0.7)  # 下一个分支的长度
                # 右转一定角度,画右分支
                right(b)
                self.tree(n - 1, d)
                # 左转一定角度,画左分支
                left(b + c)
                self.tree(n - 1, d)
                # 转回来
                right(c)
            else:
                # 画叶子
                right(90)
                n = cos(radians(heading() - 45)) / 4 + 0.5
                pencolor(n, n * 0.8, n * 0.8)
                fillcolor(n, n * 0.8, n * 0.8)
                begin_fill()
                circle(3)
                left(90)
                end_fill()
                # 添加0.3倍的飘落叶子
                if random() > 0.7:
                    pu()
                    # 飘落
                    t = heading()
                    an = -40 + random() * 40
                    setheading(an)
                    dis = int(800 * random() * 0.5 + 400 * random() * 0.3 + 200 * random() * 0.2)
                    forward(dis)
                    setheading(t)
                    # 画叶子
                    pd()
                    right(90)
                    n = cos(radians(heading() - 45)) / 4 + 0.5
                    pencolor(n * 0.5 + 0.5, 0.4 + n * 0.4, 0.4 + n * 0.4)
                    fillcolor(n, n * 0.8, n * 0.8)
                    begin_fill()
                    circle(2)
                    left(90)
                    end_fill()
                    pu()
                    # 返回
                    t = heading()
                    setheading(an)
                    backward(dis)
                    setheading(t)
                    # pass
            pu()
            backward(l)  # 退回
    def main():
        tree = Tree()
        tree.tree(12, 100)  # 递归7层
        done()
    if __name__ == '__main__':
        main()
    

    画皮卡丘

    # coding:utf-8
    import turtle as t
    import time
    # 皮卡丘
    # 基础设置
    t.screensize(800, 600)
    t.pensize(2)  # 设置画笔的大小
    t.speed(10)  # 设置画笔速度为10
    # 画左偏曲线函数
    def radian_left(ang, dis, step, n):
        for i in range(n):
            dis += step  # dis增大step
            t.lt(ang)  # 向左转ang度
            t.fd(dis)  # 向前走dis的步长
    def radian_right(ang, dis, step, n):
        for i in range(n):
            dis += step
            t.rt(ang)  # 向左转ang度
            t.fd(dis)  # 向前走dis的步长
    # 画耳朵
    def InitEars():
        t.color("black", "yellow")
        # 左耳朵曲线
        t.pu()  # 提笔
        t.goto(-50, 100)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(110)  # 画笔角度
        t.begin_fill()
        radian_left(1.2, 0.4, 0.1, 40)
        t.setheading(270)  # 画笔角度
        radian_left(1.2, 0.4, 0.1, 40)
        t.setheading(44)  # 画笔角度
        t.forward(32)
        t.end_fill()
        # 右耳朵曲线
        t.pu()  # 提笔
        t.goto(50, 100)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(70)  # 画笔角度
        t.begin_fill()
        radian_right(1.2, 0.4, 0.1, 40)
        t.setheading(270)  # 画笔角度
        radian_right(1.2, 0.4, 0.1, 40)
        t.setheading(136)  # 画笔角度
        t.forward(32)
        t.end_fill()
        # 耳朵黑
        t.begin_fill()
        t.fillcolor("black")
        t.pu()  # 提笔
        t.goto(88, 141)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(35)  # 画笔角度
        radian_right(1.2, 1.6, 0.1, 16)
        t.setheading(270)  # 画笔角度
        radian_right(1.2, 0.4, 0.1, 25)
        t.setheading(132)  # 画笔角度
        t.forward(31)
        t.end_fill()
        t.begin_fill()
        t.fillcolor("black")
        t.pu()  # 提笔
        t.goto(-88, 141)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(145)  # 画笔角度
        radian_left(1.2, 1.6, 0.1, 16)
        t.setheading(270)  # 画笔角度
        radian_left(1.2, 0.4, 0.1, 25)
        t.setheading(48)  # 画笔角度
        t.forward(31)
        t.end_fill()
    # 画尾巴
    def InitTail():
        # 尾巴
        t.begin_fill()
        t.fillcolor("yellow")
        t.pu()  # 提笔
        t.goto(64, -140)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(10)  # 画笔角度
        t.forward(20)
        t.setheading(90)  # 画笔角度
        t.forward(20)
        t.setheading(10)  # 画笔角度
        t.forward(10)
        t.setheading(80)  # 画笔角度
        t.forward(100)
        t.setheading(35)  # 画笔角度
        t.forward(80)
        t.setheading(260)  # 画笔角度
        t.forward(100)
        t.setheading(205)  # 画笔角度
        t.forward(40)
        t.setheading(260)  # 画笔角度
        t.forward(37)
        t.setheading(205)  # 画笔角度
        t.forward(20)
        t.setheading(260)  # 画笔角度
        t.forward(25)
        t.setheading(175)  # 画笔角度
        t.forward(30)
        t.setheading(100)  # 画笔角度
        t.forward(13)
        t.end_fill()
    # 画脚
    def InitFoots():
        # 脚
        t.begin_fill()
        t.fillcolor("yellow")
        t.pensize(2)
        t.pu()  # 提笔
        t.goto(-70, -200)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(225)  # 画笔角度
        radian_left(0.5, 1.2, 0, 12)
        radian_left(35, 0.6, 0, 4)
        radian_left(1, 1.2, 0, 18)
        t.setheading(160)  # 画笔角度
        t.forward(13)
        t.end_fill()
        t.begin_fill()
        t.fillcolor("yellow")
        t.pensize(2)
        t.pu()  # 提笔
        t.goto(70, -200)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(315)  # 画笔角度
        radian_right(0.5, 1.2, 0, 12)
        radian_right(35, 0.6, 0, 4)
        radian_right(1, 1.2, 0, 18)
        t.setheading(20)  # 画笔角度
        t.forward(13)
        t.end_fill()
    # 画身体
    def InitBody():
        # 外形轮廓
        t.begin_fill()
        t.pu()  # 提笔
        t.goto(112, 0)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(90)  # 画笔角度
        t.circle(112, 180)
        t.setheading(250)  # 画笔角度
        radian_left(1.6, 1.3, 0, 50)
        radian_left(0.8, 1.5, 0, 25)
        t.setheading(255)  # 画笔角度
        radian_left(0.4, 1.6, 0.2, 27)
        radian_left(2.8, 1, 0, 45)
        radian_right(0.9, 1.4, 0, 31)
        t.setheading(355)  # 画笔角度
        radian_right(0.9, 1.4, 0, 31)
        radian_left(2.8, 1, 0, 45)
        radian_left(0.4, 7.2, -0.2, 27)
        t.setheading(10)  # 画笔角度
        radian_left(0.8, 1.5, 0, 25)
        radian_left(1.6, 1.3, 0, 50)
        t.end_fill()
    def InitEyes():
        # 左眼睛
        t.begin_fill()
        t.fillcolor("black")
        t.pu()  # 提笔
        t.goto(-46, 10)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(90)  # 画笔角度
        t.circle(5, 360)
        t.end_fill()
        # 右眼睛
        t.begin_fill()
        t.fillcolor("black")
        t.pu()  # 提笔
        t.goto(46, 10)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(-90)  # 画笔角度
        t.circle(5, 360)
        t.end_fill()
    # 画脸
    def InitFace():
        # 脸蛋
        t.begin_fill()
        t.fillcolor("red")
        t.pu()  # 提笔
        t.goto(-63, -10)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(90)  # 画笔角度
        t.circle(10, 360)
        t.end_fill()
        t.begin_fill()
        t.fillcolor("red")
        t.pu()  # 提笔
        t.goto(63, -10)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(-90)  # 画笔角度
        t.circle(10, 360)
        t.end_fill()
        # 嘴巴
        t.pensize(2.2)
        t.pu()  # 提笔
        t.goto(0, 0)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(235)  # 画笔角度
        radian_right(5, 0.8, 0, 30)
        t.pu()  # 提笔
        t.goto(0, 0)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(305)  # 画笔角度
        radian_left(5, 0.8, 0, 30)
    # 画手
    def InitHands():
        # 左手
        t.pensize(2)
        t.pu()  # 提笔
        t.goto(-46, -100)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(285)  # 画笔角度
        radian_right(0.4, 1.2, 0, 26)
        radian_right(5, 0.35, 0, 26)
        radian_right(0.3, 1.2, 0, 15)
        # 右手
        t.pu()  # 提笔
        t.goto(46, -100)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(255)  # 画笔角度
        radian_left(0.4, 1.2, 0, 26)
        radian_left(5, 0.35, 0, 26)
        radian_left(0.3, 1.2, 0, 15)
    def CloseEyes():
        # 左眼睛
        t.pu()  # 提笔
        t.goto(-46, 12)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(180)  # 画笔角度
        t.forward(10)
        # 右眼睛
        t.pu()  # 提笔
        t.goto(46, 12)  # 笔头初始位置
        t.pd()  # 下笔
        t.setheading(0)  # 画笔角度
        t.forward(10)
    # 初始化
    def Init():
        InitEars()
        InitTail()
        InitFoots()
        InitBody()
        InitFace()
        InitHands()
        InitEyes()
    # 眨眼睛
    def Upgarde():
        InitEars()
        InitTail()
        InitFoots()
        InitBody()
        InitFace()
        InitHands()
        CloseEyes()
    def Upgarde_Init():
        InitEars()
        InitTail()
        InitFoots()
        InitBody()
        InitFace()
        InitHands()
        InitEyes()
    def main():
        Init()
        t.tracer(False)
        # 眨眼睛动画
        for i in range(30):
            if i % 2 == 0:
                t.reset()
                t.hideturtle()
                Upgarde()
                t.update()
                time.sleep(0.3)
            else:
                t.reset()
                t.hideturtle()
                Upgarde_Init()
                t.update()
                time.sleep(1)
    main()
    # 结束画笔
    t.done()
    

    画实时时钟

    # -*- coding:utf-8 –*-
    # 用turtlr画时钟
    # 以自定义shape的方式实现
    import turtle as t
    import datetime as d
    def skip(step):  # 抬笔,跳到一个地方
        t.penup()
        t.forward(step)
        t.pendown()
    def drawClock(radius):  # 画表盘
        t.speed(0)
        t.mode("logo")  # 以Logo坐标、角度方式
        t.hideturtle()
        t.pensize(7)
        t.home()  # 回到圆点
        for j in range(60):
            skip(radius)
            if (j % 5 == 0):
                t.forward(20)
                skip(-radius - 20)
            else:
                t.dot(5)
                skip(-radius)
            t.right(6)
    def makePoint(pointName, len):  # 钟的指针,时针、分针、秒针
        t.penup()
        t.home()
        t.begin_poly()
        t.back(0.1 * len)
        t.forward(len * 1.1)
        t.end_poly()
        poly = t.get_poly()
        t.register_shape(pointName, poly)  # 注册为一个shape
    def drawPoint():  # 画指针
        global hourPoint, minPoint, secPoint, fontWriter
        makePoint("hourPoint", 100)
        makePoint("minPoint", 120)
        makePoint("secPoint", 140)
        hourPoint = t.Pen()  # 每个指针是一只新turtle
        hourPoint.shape("hourPoint")
        hourPoint.shapesize(1, 1, 6)
        minPoint = t.Pen()
        minPoint.shape("minPoint")
        minPoint.shapesize(1, 1, 4)
        secPoint = t.Pen()
        secPoint.shape("secPoint")
        secPoint.pencolor('red')
        fontWriter = t.Pen()
        fontWriter.pencolor('gray')
        fontWriter.hideturtle()
    def getWeekName(weekday):
        weekName = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日']
        return weekName[weekday]
    def getDate(year, month, day):
        return "%s-%s-%s" % (year, month, day)
    def realTime():
        curr = d.datetime.now()
        curr_year = curr.year
        curr_month = curr.month
        curr_day = curr.day
        curr_hour = curr.hour
        curr_minute = curr.minute
        curr_second = curr.second
        curr_weekday = curr.weekday()
        t.tracer(False)
        secPoint.setheading(360 / 60 * curr_second)
        minPoint.setheading(360 / 60 * curr_minute)
        hourPoint.setheading(360 / 12 * curr_hour + 30 / 60 * curr_minute)
        fontWriter.clear()
        fontWriter.home()
        fontWriter.penup()
        fontWriter.forward(80)
        # 用turtle写文字
        fontWriter.write(getWeekName(curr_weekday), align="center", font=("Courier", 14, "bold"))
        fontWriter.forward(-160)
        fontWriter.write(getDate(curr_year, curr_month, curr_day), align="center", font=("Courier", 14, "bold"))
        t.tracer(True)
        print(curr_second)
        t.ontimer(realTime, 100)  # 每隔100毫秒调用一次realTime()
    def main():
        t.tracer(False)
        drawClock(160)
        drawPoint()
        realTime()
        t.tracer(True)
        t.mainloop()
    if __name__ == '__main__':
        main()
    

    画星空

    from turtle import *
    from random import random,randint
    screen = Screen()
    width ,height = 800,600
    screen.setup(width,height)
    screen.bgcolor("black")
    screen.mode("logo")
    screen.delay(0)#这里要设为0,否则很卡
    t = Turtle(visible = False,shape='circle')
    t.pencolor("white")
    t.fillcolor("white")
    t.penup()
    t.setheading(-90)
    t.goto(width/2,randint(-height/2,height/2))
    stars = []
    for i in range(200):
        star = t.clone()
        s =random() /3
        star.shapesize(s,s)
        star.speed(int(s*10))
        star.setx(width/2 + randint(1,width))
        star.sety( randint(-height/2,height/2))
        star.showturtle()
        stars.append(star)
    while True:
        for star in stars:
            star.setx(star.xcor() - 3 * star.speed())
            if star.xcor()<-width/2:
                star.hideturtle()
                star.setx(width/2 + randint(1,width))
                star.sety( randint(-height/2,height/2))
                star.showturtle()
    
        
        ~~~
        
    
    展开全文
  • python之turtle的基本使用代码分析

    千次阅读 2019-04-16 17:49:47
    turtle库的使用: turtle库引入: import turtle 设置窗体的大小: turtle.setup(width,height,0,0) 对于这个setup()的四个参数,width和height的值用于设置生成的窗体的高度与宽度,后面两个参数是作用...

    turtle库的使用:

    turtle库引入:

    import turtle
    或者
    from turtle import *
    或者
    import turtle as t
    

    使用第二种,可以不用再写turtle来调用函数,直接可以引用函数名,但是容易重名
    第三种给turtle起个别名t,例如可以用t.circle()。

    设置窗体的大小:

    turtle.setup(width,height,0,0)
    

    对于这个setup()的四个参数,width和height的值用于设置生成的窗体的高度与宽度,后面两个参数是作用于屏幕的位置,以屏幕的左上角为(0.0)建立坐标系,后面的两位参数是窗体的左上角在屏幕的左上角的位置。若后面的参数不写,默认的是在屏幕正中间显示。

    海龟移动到具体的位置的函数:

    turtle.goto(x.y)
    

    以画布的中心为原点(0.0),可以用goto语句到达任何位置。具体的位置坐标可以由下图表示:

    控制海龟的行进与方向

    turtle.fd(100)
    turtle.bk(100)
    turtle.circle(40,90)
    

    turtle.fd()是控制海龟向前直行,以像素为单位,参数填写数字。
    turtle.bk() 是控制海龟向后行走,以像素为单位,参数填写数字。
    turtle.circle()是以当前的点为圆心,第一个参数为半径,第二个参数为角度逆时针画弧,若第二个参数不写,那就意味着画圆。
    图片解释如下:

    海龟的行走方向的控制:

    turtle.seth(90)
    

    以象限为参考,逆时针转的时候为正的度数,顺时针为负的度数,它表示一种绝对的角度。
    如下图所示:

    但在实例中常用的是另一种控制方法:

    turtl.left(100)
    turtle.right(100)
    

    这两个函数可以实现海龟的行驶的角度,其中的参数为角度值

    turtle色彩调用:

    取值范围(0,255)或者(0,1)也可以用英文的单词
    常用颜色如图:


    默认情况下使用的是小数来表示RGB色彩体系
    可以调用:

    turtle.colormode(1.0)
    turtle.colormode(255)
    

    切换体系;
    将画笔抬起,放下,设置粗细,颜色:

    turtle.penup();
    turtle.pendown();
    turtle.pensize();
    //画笔宽度还可以用
    turtle.width();
    turtle.pencolor();
    
    

    抬起的时候轨迹不在画布上显示,调用pencolor时可以用RGB值,或者小写的英文字符串

    展开全文
  • import turtle as t # 在屏幕中心建立一个宽为600,高为400的绘图窗口, t.setup(600,400,200,200) # 在绘图窗口中从坐标(10,50)开始画一个边长为80的正方形,要求边为绿色,画笔宽度为4。 t.color("green") t....
  • Python : Turtle绘图-太极图(代码

    千次阅读 2021-02-03 21:02:25
    import turtledef draw_TJT®:turtle.screensize(800,600,“white”)turtle.pensize(3)turtle.pencolor(“black”)turtle.speed(10)TJT_color={1:“white”,-1:“black”}color_list=[1,-1]for c in color_list:...
  • python turtle绘制樱花树代码

    千次阅读 2021-01-29 12:55:37
    import turtlefrom random import randomfrom random import randintdef draw_petal(turtle_obj, flower):# 绘制掉落的花瓣for i in range(int(flower)):# 有正有负就可以让画笔往二个方向走x = flower - 4 * flower...
  • 在Udacity上课时学到了python的turtle方法,这是一个很经典的用来教小孩儿编程的图形模块,最早起源于logo语言。python本身内置了这个模块,其可视化的方法可以帮助小孩儿对编程的一些基本理念有所理解。在作业提交...
  • 02-2-Turtle 代码优化

    2021-07-25 18:46:26
    上一篇文章,我带你使用 Turtle 学会了画风筝,但是代码不够优美,这篇我来带你优化一下。 第一个是画一个风筝的代码优化,原来的代码自行看上一篇。优化后代码: import turtle def kite(speed=1, position_x=0, ...
  • Python之turtle库画各种有趣的图及源码(更新中)

    千次阅读 多人点赞 2021-02-08 18:19:12
    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形...
  • 实现效果 如图所示。 基本思路 ...自定义shape,画出时针、分针、秒针。通过register_shape()函数。... 指针的位置通过shape类set...完整代码 #!/usr/bin/env python #encoding:utf-8 # # [SNIPPET_NAME: tClock] .
  • 你们要的Python写汉字,今天安排! #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @author: xufeng @contact:326939406@qq....代码中可以找到该网站。 另外新人求赞!求赞!求赞!
  • import turtleturtle.screensize(400, 300, "pink")turtle.setup(1000, 600)turtle.write(\'作者:好一朵玫瑰花 \', move = True, align = \'left\', font = (\'楷体\', 16, \'normal\'))# 设置初始位置turtle.penup...
  • 这个库被介绍为一个最常用的用来给孩子们介绍编程知识的方法库,其主要是用于程序设计入门,是标准库之一,利用turtle可以制作很多复杂的绘图。 下面是几个简单案例: 1. 画三角形 from turtle import forward, ...
  • import turtle as t t.pensize(10) t.pencolor("blue") for i in range(4): t.fd(150) t.right(90) t.circle(-150,45) t.right(90) t.fd(150) t.right(45) t.done()
  • 多个turtle.done()语句,当只有一个时,以及不同的代码段没有考虑到其他代码段的绘制位置这一事实使得它看起来应该是单个文件中单个程序的集合:项目1:import turtlebob = turtle.Turtle()print(bob)bob.fd(100)bob...
  • from PIL import Image f = open('test.py', 'w') ...f.write("import turtle\n") f.write("canvasX = {}\n".format(x)) f.write("canvasY = {}\n".format(y)) f.write( ''' def D(x, y): return x - canvasX // 2.
  • Python turtle.left()用法及代码示例

    千次阅读 2021-01-28 19:17:24
    turtle 模块以面向对象和面向过程的方式提供 turtle 图形基元。由于它使用Tkinter作为基础图形,因此需要安装有Tk支持的Python版本。turtle .left()turtle.left()方法用于通过其参数值来更改 turtle 的方向。它使 ...
  • 代码如下: import turtle turtle.width(10) turtle.color("blue") turtle.circle(50) turtle.color("black") turtle.penup() turtle.goto(120, 0) turtle.pendown() turtle.circle(50) turtle.color("red") ...
  • Python使用turtle库绘制动态满屏爱心代码

    千次阅读 多人点赞 2021-02-14 14:26:21
    情人节绘制爱心最合适了,但是单单画一个心形怎么能够满足?今天我们尝试用Python的turtle库画出一整个画布的爱心,...代码如下: from turtle import * from math import sqrt width, height = 800, 600 screen = Scr
  • turtle 模块以面向对象和面向过程的方式提供 turtle 图形基元。由于它使用Tkinter作为基础图形,因此需要安装有Tk支持的Python版本。turtle .get_poly()此函数用于返回最后记录的多边形。它不需要任何参数。用法:...
  • Python turtle.fd方法代码示例

    千次阅读 2020-12-30 14:32:49
    本文整理汇总了Python中turtle.fd方法的典型用法代码示例。如果您正苦于以下问题:Python turtle.fd方法的具体用法?Python turtle.fd怎么用?Python turtle.fd使用的例子?那么恭喜您, 这里精选的方法代码示例或许...
  • 用 Python turtle 画党徽

    千次阅读 2021-06-09 20:13:51
    画党徽 代码如下(示例): import turtle turtle.fillcolor("red") turtle.pencolor("red") turtle.up() turtle.goto(-300, 300) turtle.down() turtle.begin_fill() for i in range(2): turtle.forward(600) ...
  • 语言:PythonIDE:Python.IDE需求做出彩虹效果颜色空间RGB模型:光的三原色,共同决定色相HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相需要将HSB模型转换为RGB模型代码示例:#-*- coding:utf-8 –*-from turtle ...
  • 今天为大家介绍几个Python“装逼”实例代码,python绘制樱花、玫瑰、圣诞树代码实例,主要使用了turtle库Python绘制樱花代码实例动态生成樱花效果图(这个是动态的):实现代码import turtle as Timport randomimport ...
  • 这篇文章主要介绍了Python使用turtle库绘制小猪佩奇,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制。...
  • 本篇文章介绍了python使用turtle库绘制四叶草的方法,代码很简单,希望对学习python的朋友有帮助。import turtleimport timeturtle.setup(650.,350,200,200)turtle.pendown()turtle.pensize(10)turtle.pencolor('...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,430
精华内容 8,172
关键字:

turtle代码大全