python10.24

import turtle
import time
t = turtle.Pen()
t.shape('turtle')
t.speed(0)
t.pensize(5)
t.pencolor('blue')
turtle.setup(1000,600)
turtle.bgcolor('yellow')


def drawline(flag):
    t.up()
    t.fd(5)
    if flag:
        t.down()
    else:
        t.up()
    t.fd(40)
    t.up()
    t.fd(5)
    t.right(90)


def drawdigit(num):
   drawline(True) if num in [2,3,4,5,6,8,9] else drawline(False)
   drawline(True) if num in [0,1,3,4,5,6,7,8,9] else drawline(False)
   drawline(True) if num in [0,2,3,5,6,8,9] else drawline(False)
   drawline(True) if num in [0,2,6,8] else drawline(False)
   t.left(90)
   drawline(True) if num in [0,4,5,6,8,9] else drawline(False)
   drawline(True) if num in [0, 2,3,5,6,7,8,9] else drawline(False)
   drawline(True) if num in [0,1,2,3,4,7,8,9] else drawline(False)
   t.up()
   t.right(180)
   t.fd(40)




def date_digit(date):
    t.up()
    t.backward(400)
    t.down()
    for i in date:
        if i == '/':
            t.write('年',font=("Arial", 35, "normal"))
            t.up()
            t.fd(20)
            t.down()
        elif i =='-':
            t.write('月',font=("Arial", 35, "normal"))
            t.up()
            t.fd(60)
            t.down()
        elif i =='$':
            t.write('日',font=("Arial", 35, "normal"))
            t.up()
            t.right(90)
            t.fd(200)
            t.right(90)
            t.fd(700)
            t.right(180)
            t.down()
        elif i =='#':
            t.write('时',font=("Arial", 35, "normal"))
            t.up()
            t.fd(60)
            t.down()
        elif i =='!':
            t.write('分',font=("Arial", 35, "normal"))
            t.up()
            t.fd(60)
            t.down()
        elif i =='~':
            t.write('秒',font=("Arial", 35, "normal"))
            t.up()
            t.fd(60)
            t.down()
        else:
            drawdigit(eval(i))
    t.up()
    t.left(90)
    t.fd(350)
    t.left(90)
    t.fd(620)
    t.down()
    t.pencolor('red')
    t.write('程序员日快乐!!!',font=("Arial", 35, "normal"))
    t.hideturtle()



def main():
    date_digit(time.strftime('%Y/%m-%d$%H#%M!%S~',time.gmtime()))
    turtle.done()

main()

"""时间绘制就是函数的套用,分别完成最简单的划线判断,
把数字分成七步,每一步判定是否提起画笔,或落笔
提起画笔,落笔可以套用函数
完成单个数字的制作后,根据新需要,需绘制多个数字,发现运用原有的函数,
每个数字都在原有的数字上方绘制,所以需在每个数字绘制结束时提起画笔,向右平移
目前可以通过输入数字来绘制相应的数字,接下来就是运用gmTIME.函数提取,用strftime()格式化
通过 for in 函数逐个提取时间里的字符串,运用If函数判断是否为特定的指示符(格式化的时候设定的)
通过t.write()函数输出相应的汉子 font=(),调整字体大小及其他,如不会拼写可按ctrl查看函数详情
这样就能完整的输出相应的时间及汉字,但需要通过t.fd调整数字与汉字之间的距离
想加入汉字另起一行,需要在判定函数的最后更改初始位置,也要观察最后画笔方向从而调整
如需最后让画笔消失,运用hideturtle(),##注意所有函数引用都需要带括号,否则会报错
turtle.done()/turtlemainloop(),两个函数一定要放在最后,不然影响后运行,出现不报错但无法运行的尴尬。
接下来就是细微的调整比如,线条得颜色 t.pencolor(),线条的粗细t.pensize(),箭头的形状t.shap(),画笔的速度t.speed()#0速度最快
可以通过turtle.setup()调整画布大小,turtle.bgcolor()调整画布背景"""
import turtle

t = turtle.Pen()
t.shape('turtle')


# t.speed(0)
"""一个海螺型,一个直线条"""
def draw(num):
    t.down()
    t.circle(num,180)
    # t.fd(num)
    # t.right(90)


def fib(n):
    a, b = 0, 1
    for i in range(n + 1):
        a, b = b, a + b

        draw(a)
    # return a


fib(100)
turtle.done()

# a = fib(100)

  



原文地址:https://www.cnblogs.com/fxsm/p/11734007.html