用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - python代码库

七段数码管绘制

2022-04-17 作者: Python自学举报

[python]代码库

import time
from turtle import *
 
 
def drawGap():  # 绘制数码管间隔
    penup()  # 提起笔移动,不绘制图形,用于另起一个地方绘制
    fd(5)  # 向当前画笔方向移动 5 像素长度
 
 
def drawLine(draw):  # 绘制单段数码管
    drawGap()  # 调用drawGap() ,绘制间隔
    # turtle.pendown() 移动时绘制图形,缺省时也为绘制
    pendown() if draw else penup() # draw不为0绘制图形,否则另起一个地方
    fd(40)  # 画笔向当前方向绘制40像素长的线条
    drawGap()  # 调用drawGap(),绘制间隔
    right(90)  # 顺时针移动90°
 
 
def drawDigit(d):  # 根据数字规制七段数码管
    drawLine(True) if d in [2, 3, 4, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if d in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False)
    drawLine(True) if d in [0, 2, 3, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if d in [0, 2, 6, 8] else drawLine(False)
    left(90)  # 逆时针移动90°
    drawLine(True) if d in [0, 4, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if d in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)
    drawLine(True) if d in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)
    left(180)  # 逆时针移动180°
    penup()  # 画笔另起一个新的点
    fd(20)  # 沿当前方向移动20像素
 
 
def drawDate(date):
    pencolor('light coral')  # 设置画笔的颜色为淡珊瑚色,默认初始值为黑色
    for i in date:
        if not i.isnumeric():
            sety(-50)
            pencolor('wheat')
            if i == '-':
                write('年', font = ('微软雅黑', 24, 'normal'))
                pencolor('lightblue')  # 设置画笔的颜色为“lightblue”
                fd(45)
            elif i == '=':
                write('月', font = ('微软雅黑', 24, 'normal'))
                pencolor('lightpink')  # 设置画笔的颜色为“lightpink”
            elif i == '+':
                write('日', font = ('微软雅黑', 24, 'normal'))
        else:
            drawDigit(eval(i))
        sety(0)
 
 
if __name__ == '__main__':
    # 坐标位置(200,200)处绘制一个大小为 800*350像素的画布
    setup(800, 350, 200, 200) 
    screensize(bg = 'lightyellow')
    penup()  # 开始绘制
    hideturtle()  # 绘制完日期,隐藏画笔的turtle形状
    speed('fastest')
    fd(-350)
    pensize(5)  # 定义画笔的大小为 5
    # 使用strftime 方法将 gmtime() 获取的当前的日期以“%Y-%m=%d+”的格式赋值给变量a
    a = time.strftime("%Y-%m=%d+", time.gmtime())
    drawDate(a)  # 调用自定义函数 drawDate()
    done()  # 必须是图形绘制程序的最后一个语句


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...