zoukankan      html  css  js  c++  java
  • 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)
    

      



  • 相关阅读:
    Longest Mountain in Array 数组中的最长山脉
    css 解决 图片 底部 3像素问题
    获取当前年月日2020-09-30格式
    vue + elememt ui table 实现滚屏效果
    滚动字
    layui 之监听 select 的变化
    正则匹配非汉字
    layui form里的select元素动态赋值无效
    layui 之 弹框重新打开 upload无效
    GPS坐标转百度坐标
  • 原文地址:https://www.cnblogs.com/fxsm/p/11734007.html
Copyright © 2011-2022 走看看