首页 > 其他分享 >七段数码管显示时间

七段数码管显示时间

时间:2023-11-20 23:12:02浏览次数:30  
标签:turtle 显示 False draw else 数码管 fd line 七段

import turtle
import datetime
import time


def draw_gap():  # 绘制数码间隔
    turtle.penup()
    turtle.fd(5)


def draw_line(draw):  # 绘制单段数码管
    draw_gap()
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    draw_gap()
    turtle.right(90)


def draw_digit(d):  # 根据数字绘制七段数码管
    draw_line(True) if d in [2, 3, 4, 5, 6, 8, 9] else draw_line(False)
    draw_line(True) if d in [0, 1, 3, 4, 5, 6, 7, 8, 9] else draw_line(False)
    draw_line(True) if d in [0, 2, 3, 5, 6, 8, 9] else draw_line(False)
    draw_line(True) if d in [0, 2, 6, 8] else draw_line(False)
    turtle.left(90)
    draw_line(True) if d in [0, 4, 5, 6, 8, 9] else draw_line(False)
    draw_line(True) if d in [0, 2, 3, 5, 6, 7, 8, 9] else draw_line(False)
    draw_line(True) if d in [0, 1, 2, 3, 4, 7, 8, 9] else draw_line(False)
    turtle.left(180)
    turtle.penup()
    turtle.fd(20)


def draw_date(date):
    turtle.pencolor("blue")
    for i in date:
        if i == '年':
            turtle.write('年', font=("Arial", 18, "normal"))
            turtle.pencolor("black")
            turtle.fd(20)
        elif i == '月':
            turtle.write('月', font=("Arial", 18, "normal"))
            turtle.pencolor("blue")
            turtle.fd(20)
        elif i == '日':
            turtle.write('日', font=("Arial", 18, "normal"))
            turtle.pencolor("yellow")
            turtle.fd(20)
        elif i == '时':
            turtle.write('时', font=("Arial", 18, "normal"))
            turtle.pencolor("green")
            turtle.fd(40)
        elif i == '分':
            turtle.write('分', font=("Arial", 18, "normal"))
            turtle.pencolor("red")
            turtle.fd(40)
        else:
            draw_digit(int(i))


def again():
    turtle.speed(0)
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(5)
    current_time = datetime.datetime.now().strftime('%Y年%m月%d日%H时%M分')
    draw_date(current_time)
    time.sleep(2)
    turtle.reset()
    turtle.hideturtle()


def main():
    turtle.setup(800, 350, 200, 200)
    again()
    turtle.done()


main()

运行结果

 

标签:turtle,显示,False,draw,else,数码管,fd,line,七段
From: https://www.cnblogs.com/siwu0220/p/17845168.html

相关文章

  • 数码管
    #数码管显示系统年,月,日,时间1importturtle,datetime2defdrawling(draw):34turtle.pendown()ifdrawelseturtle.penup()5turtle.fd(40)6turtle.right(90)78defdraworigin(d):9drawling(True)ifdin[2,3,4,5,6,8,9]elsedr......
  • 7段数码管绘制
    7段数管码代码运行22信计1班34号代码#e7.2DrawSevenSegDisplay.pyimportturtle,datetimedefdrawGap():#绘制数码管间隔turtle.penup()turtle.fd(5)defdrawLine(draw):#绘制单段数码管drawGap()turtle.pendown()ifdrawelseturtle.penup()turtle......
  • vxe-table 显示/隐藏列
    有这样一个需求:勾选了库存按钮,就要显示库存,不勾选,那么就不显示库存列。 那么就用到显示/隐藏相应的列的功能。let$table=tableRef.value;if($table){letfield_name='kc';letcolumns=$table.getColumns();--可视列......
  • 七段数码管绘制
    importturtle,datetimedefdrawGap():#绘制数码管间隔turtle.penup()turtle.fd(5)defdrawLine(draw):#绘制单段数码管drawGap()turtle.pendown()ifdrawelseturtle.penup()turtle.fd(40)drawGap()turtle.right(90)defdrawDigit(d):#根据......
  • 7段数码管绘制
    importtimeimportturtleasttdefdrawGap():tt.penup()tt.fd(5)defdrawLine(draw):drawGap()if(draw):tt.pendown()else:tt.penup()tt.fd(50)drawGap()tt.right(90)defdrawDate(date):tt.pencolor("red"......
  • 视频监控管理平台EasyCVR告警查询拖动条无法显示,该如何解决?
    视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等,视频智能分析平台EasyCVR融合性强、开放度高、部署轻快,在智慧工地、智慧园区、智慧......
  • revit中的修改图纸中视口的显示
    一、对图纸中视口的缩放鼠标hover到图纸视口内双击进入视口,在空白处双击可退出视口。在进入视口内可以对图纸的缩放比例进行缩放,这样可以满足一个图纸内有多个视口。 二、对图纸中视口的裁剪第一步:在视口列表中,进入图纸对应的视口下,勾选左侧菜单第二步:在图纸中,进入对应图......
  • 直播平台源码,隐藏app图标并不在最近运行中显示
    直播平台源码,隐藏app图标并不在最近运行中显示 <activity      android:name=".MainActivity"      android:excludeFromRecents="true"      android:noHistory="true">      <intent-filter>        <actio......
  • Android TextView自动缩放能够完整显示出一行
    原文地址:AndroidTextView自动缩放能够完整显示出一行-Stars-One的杂货小窝app开发中,需要TextView可以在不同的屏幕大小要完整显示出文字,而不是显示省略号可以使用以下代码,让TextView字体实现自适应(不过具体算法已经实现了,我们只需要设置下即可实现效果)//设置最大行......
  • 滚动对话框内容,已打开的下拉框超出对话框范围显示
    问题场景点击对话框内的下拉框,显示下拉列表,纵向滚动对话框内容,已经打开的下拉列表,超出对话框范围仍然显示。分析下拉框列表消失的条件是下拉框失焦。因此,有三种解决方案:给对话框设置样式:下拉框超出对话框范围就隐藏;给对话框内的下拉框设置:若滚动对话框,则让下拉框失焦,即关......