美文网首页
python练手项目—绘制日期效果,好看又好用

python练手项目—绘制日期效果,好看又好用

作者: BABYMISS | 来源:发表于2020-05-21 15:42 被阅读0次

效果图


源代码

import turtle, time

# 绘制一段空隙

def drawGap():

    turtle.penup()

    turtle.fd(5)

# 绘制线条

def drawLine(draw):

    # 在每段线条的前面留一点空

    drawGap()

    # 如果参数为真就画,否则就不画

    turtle.pendown() if draw else turtle.penup()

    turtle.fd(40)

    # 在每段线条的后面留一点空

    drawGap()

    turtle.right(90)

# 绘制数字

def drawDigit(digit):

    drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)

    drawLine(True) if digit in [0,1,3, 4, 5, 6,7, 8, 9] else drawLine(False)

    drawLine(True) if digit in [0,2, 3, 5, 6, 8, 9] else drawLine(False)

    drawLine(True) if digit in [0,2, 6, 8] else drawLine(False)

    turtle.left(90)

    drawLine(True) if digit in [0, 4, 5, 6, 8, 9] else drawLine(False)

    drawLine(True) if digit in [0,2, 3,5, 6,7, 8, 9] else drawLine(False)

    drawLine(True) if digit in [0,1, 2,3,4, 7, 8, 9] else drawLine(False)

    turtle.left(180)

    # 和后面的数字隔开距离

    turtle.penup()

    turtle.fd(20)

# 解析日期字符串

def drawDate(date):

    turtle.pencolor("red")

    for i in date:

        if i == '年':

            turtle.write('年',font=("Arial",18,"normal"))

            turtle.pencolor("green")

            turtle.fd(40)

        elif i == '月':

            turtle.write('月',font=("Arial",18,"normal"))

            turtle.pencolor("blue")

            turtle.fd(40)

        elif i == '日':

            turtle.write('日',font=("Arial",18,"normal"))

        else:

            drawDigit(eval(i))

# 定义主函数

def main():

    turtle.setup(800,350)

    turtle.penup()

    turtle.fd(-300)

    turtle.pensize(5)

    # 日期格式化

    drawDate(time.strftime("%Y年%m月%d日",time.gmtime()))

    # 隐藏那个箭头

    turtle.hideturtle()

    turtle.done()

# 调用主函数

main()

相关文章

网友评论

      本文标题:python练手项目—绘制日期效果,好看又好用

      本文链接:https://www.haomeiwen.com/subject/dpzzohtx.html