首页 > 其他分享 >7段数码管绘制

7段数码管绘制

时间:2022-12-08 16:13:54浏览次数:42  
标签:turtle False drawLine True else 数码管 fd 绘制

import turtle, datetime

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(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)
    turtle.left(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)
    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"))
            turtle.pencolor('red')
            turtle.fd(40)
        elif i == '/':
            turtle.write('星期', font=("Arial", 18, "normal"))
            turtle.pencolor('green')
            turtle.fd(40)
        else:
            drawDigit(eval(i))
    turtle.exitonclick()

def main():
    turtle.setup(800, 350, 0, 200)
    turtle.penup()
    turtle.fd(-350)
    turtle.pensize(5)
    drawDate(datetime.datetime.now().strftime('%H+%M-%S*%w/'))
    turtle.hideturtle()

main()

标签:turtle,False,drawLine,True,else,数码管,fd,绘制
From: https://www.cnblogs.com/whc123/p/16966379.html

相关文章

  • 七段数码管控绘制
    代码如下:importturtle,datetimedefdrawGap():#绘制数码管间隔turtle.penup()turtle.fd(5)defdrawLine(draw):#绘制单段数码管drawGap()......
  • 7段数码管绘制python实验
    实验代码如下:1importturtle,time2defdrawGap():3turtle.penup()4turtle.fd(5)5defdrawLine(draw):#绘制单段数码管6drawGap()......
  • 7段数码管绘制 (2022年12月8日 14点38分)
    """7段数码管绘制"""importturtle,datetimedefdrawGap():#绘制数码管间隔turtle.penup()turtle.fd(5)defdrawLine(draw):#绘制单段数码管d......
  • 010.绘制后台首页UI布局
    1.index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>慕课网办公OA系统</title><!--引入样式--><linkrel="style......
  • 前端学习教程-SVG绘制路径
    前端学习教程-SVG绘制路径,在SVG中,使用path标签来定义一个路径。它是一个单标签,基本语法为:尖角号path,斜线尖角号。应用路径,我们可以绘制任意形状的图形。path标签的重要属......
  • echart绘制中国地图及各省份地图
    示例:  地图文件下载地址:https://gitcode.net/mirrors/fuhang-lm/echarts?utm_source=csdn_github_accelerator&from_codechina=yes 这里以北京市地图为例,如果是其......
  • 绘制透明背景位图
    TransparentBltTheTransparentBltfunctionperformsabit-blocktransferofthecolordatacorrespondingtoarectangleofpixelsfromthespecifiedsourcedevic......
  • Python——问题解决:matplotlib.pyplot绘制函数中文乱码
    代码frompylabimportmpl#中文库mpl.rcParams['font.sans-serif']=['SimHei']mpl.rcParams['axes.unicode_minus']=False例子plt.title("三次样条插值11点")plt.pl......
  • uniapp使用canvas绘制两张图片合并为一张图并保存至手机(H5+小程序)
      需求:访客二维码图片,包含:1二维码  2访客信息1、二维码使用weapp-qrcode插件生成(canvas)2、访客信息绘制到背景canvas上3、最后,将二维码的canvas合并到背景can......
  • Sunxi平台上通过DirectFB绘制文本遇到的一个问题
    关于如何在Tina平台上使用DirectFB,请参考失之东榆,收之桑榆,东方不亮西方亮,活人不能让尿憋死,VIPP虽然不给力,但我们还有VPU(VE),VE支持支持画框和贴水印的操作,画框VIPP已经干......