精华内容
下载资源
问答
  • time.gmtime())) turtle.hideturtle() turtle.done() main() 关于倒计天数的显示(#2020.5.4到现在,修改自CSDN:一只小菜ji) #SevenDigitsDrawV4倒计时.py import turtle as t import time ,datetime def drawgap...

    用Python绘制的七段数码管来显示数字和字母


    利用Python绘制的七段数码管,实际上是用turtle绘制七段规则排列的直线,通过组合来显示出实际意义上的事物。
    嵩天老师留下的课后作业为例:
    在这里插入图片描述

    1. 可以显示数字(改进了一下,用input输入)
    #SevenDigitsDrawV1.py
    import turtle
    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 ['A','b','d','E','F',2,3,4,5,6,8,9] else drawline(False)
        drawline(True) if digit in ['A','b','d',0,1,3,4,5,6,7,8,9] else drawline(False)
        drawline(True) if digit in [0,'b','d','E','C',2,3,5,6,8,9] else drawline(False)
        drawline(True) if digit in ['A','b','d','E','F','C',0,2,6,8] else drawline(False)
        turtle.left(90)
        drawline(True) if digit in ['A','b','C','E','F',0,4,5,6,8,9] else drawline(False)
        drawline(True) if digit in ['A','C','E','F',0,2,3,5,6,7,8,9] else drawline(False)
        drawline(True) if digit in ['A','d',0,1,2,3,4,7,8,9] else drawline(False)
        turtle.left(180)
        turtle.penup()
        turtle.fd(20)
    def drawdate(date):
        for i in date:
            drawdigit(eval(i))   
    def main():
        turtle.setup(800,350,200,200)
        turtle.penup()
        turtle.fd(-300)
        turtle.pensize(5)
        drawdate(a)
        turtle.hideturtle()
        turtle.done()
    a= input()
    main()
    
    1. 可以显示字母
    #SevenDigitsDrawV2.py
    import turtle
    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 ['A','b','d','E','F',2,3,4,5,6,8,9] else drawline(False)
        drawline(True) if digit in ['A','b','d',0,1,3,4,5,6,7,8,9] else drawline(False)
        drawline(True) if digit in [0,'b','d','E','C',2,3,5,6,8,9] else drawline(False)
        drawline(True) if digit in ['A','b','d','E','F','C',0,2,6,8] else drawline(False)
        turtle.left(90)
        drawline(True) if digit in ['A','b','C','E','F',0,4,5,6,8,9] else drawline(False)
        drawline(True) if digit in ['A','C','E','F',0,2,3,5,6,7,8,9] else drawline(False)
        drawline(True) if digit in ['A','d',0,1,2,3,4,7,8,9] else drawline(False)
        turtle.left(180)
        turtle.penup()
        turtle.fd(20)
    def drawdate(date):
        for i in date:
            drawdigit(i)    #如果输入的是数字则改为drawdigit(eval(i))
    def main():
        turtle.setup(800,350,200,200)
        turtle.penup()
        turtle.fd(-300)
        turtle.pensize(5)
        drawdate(a)
        turtle.hideturtle()
        turtle.done()
    a= input()
    main()
    
    1. 关于实时时间的显示
    #SevenDigitsDrawV3.py
    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):     #data为日期,格式为'%Y-%m=%d+'
        turtle.pencolor("red")
        for i in date:
            if i == '-':
                turtle.write('年',font=("Arial",24,"normal"))
                turtle.pencolor("green")
                turtle.fd(40)
            elif i == '=':
                turtle.write('月',font=("Arial",24,"normal"))
                turtle.pencolor("blue")
                turtle.fd(40)
            elif i == '+':
                turtle.write('日',font=("Arial",24,"normal"))
            else:
                drawdigit(eval(i))
    def main():
        turtle.setup(800,350,200,200)
        turtle.penup()
        turtle.fd(-300)
        turtle.pensize(5)
        drawdate(time.strftime('%Y-%m=%d+',time.gmtime()))
        turtle.hideturtle()
        turtle.done()
    main()
    
    1. 关于倒计天数的显示(#2020.5.4到现在,修改自CSDN:一只小菜ji
    #SevenDigitsDrawV4倒计时.py
    import turtle as t
    import time ,datetime
    
    def drawgap():      #绘制数码管间隔
        t.penup()
        t.fd(5)
    def drawline(draw):     #绘制单段数码管
        drawgap()
        t.pendown() if draw else t.penup()
        t.fd(40)
        drawgap()
        t.right(90)
    def drawdigit(digit):       #根据数字绘制七段数码管
        t.write('剩余时间:', font=("Timesnewromans",24,"normal"))
        t.pencolor("red")
        t.fd(150)
        i=0
        while i < len(digit):
            if digit[i] >= '0' and digit[i] <= '9':
                digit1 = eval(digit[i])
                drawline(True) if digit1 in [2,3,4,5,6,8,9] else drawline(False)
                drawline(True) if digit1 in [0,1,3,4,5,6,7,8,9] else drawline(False)
                drawline(True) if digit1 in [0,2,3,5,6,8,9] else drawline(False)
                drawline(True) if digit1 in [0,2,6,8] else drawline(False)
                t.left(90)
                drawline(True) if digit1 in [0,4,5,6,8,9] else drawline(False)
                drawline(True) if digit1 in [0,2,3,5,6,7,8,9] else drawline(False)
                drawline(True) if digit1 in [0,1,2,3,4,7,8,9] else drawline(False)
                t.left(180)
                t.penup()
                t.fd(20)
            else:
                break
            i=i+1
    
    def main():
        t.setup(800,350,200,200)
        t.penup()
        t.fd(-300)
        t.pensize(5)
        remain = datetime.datetime(2020,5,1) -datetime.datetime.now()
        s = str(remain)
        drawdigit(s)
        t.hideturtle()
        t.done()
    main()
    
    
    展开全文
  • public class Countdown4 { private static long day = 0; private static long ... } } } } } } } } System.out.println("解除禁言计时:" + day + "天" + hour + "小时" + minute + "分钟" + second + "秒"); } }

    public class Countdown4 {

    private static long day = 0;

    private static long hour = 0;

    private static long minute = 0;

    private static long second = 0;

    private static boolean dayNotAlready = false;

    private static boolean hourNotAlready = false;

    private static boolean minuteNotAlready = false;

    private static boolean secondNotAlready = false;

    public static void main(String[] args) {

    long totalSeconds = 60 * 60 * 24 * 1 + 1;

    initData(totalSeconds);

    new Timer().schedule(new TimerTask() {

    @Override

    public void run() {

    if (secondNotAlready) {

    startCount();

    } else {

    cancel();

    }

    }

    }, 0, 1000);

    }

    private static void initData(long totalSeconds) {

    resetData();

    if (totalSeconds > 0) {

    secondNotAlready = true;

    second = totalSeconds;

    if (second >= 60) {

    minuteNotAlready = true;

    minute = second / 60;

    second = second % 60;

    if (minute >= 60) {

    hourNotAlready = true;

    hour = minute / 60;

    minute = minute % 60;

    if (hour > 24) {

    dayNotAlready = true;

    day = hour / 24;

    hour = hour % 24;

    }

    }

    }

    }

    System.out.println("初始化格式化后->" + day + "天" + hour + "小时" + minute

    + "分钟" + second + "秒");

    }

    private static void resetData() {

    day = 0;

    hour = 0;

    minute = 0;

    second = 0;

    dayNotAlready = false;

    hourNotAlready = false;

    minuteNotAlready = false;

    secondNotAlready = false;

    }

    public static void startCount() {

    if (secondNotAlready) {

    if (second > 0) {

    second--;

    if (second == 0 && !minuteNotAlready) {

    secondNotAlready = false;

    }

    } else {

    if (minuteNotAlready) {

    if (minute > 0) {

    minute--;

    second = 59;

    if (minute == 0 && !hourNotAlready) {

    minuteNotAlready = false;

    }

    } else {

    if (hourNotAlready) {

    if (hour > 0){

    hour--;

    minute = 59;

    second = 59;

    if (hour == 0 && !dayNotAlready) {

    hourNotAlready = false;

    }

    } else {

    if (dayNotAlready) {

    day--;

    hour = 23;

    minute = 59;

    second = 59;

    if (day == 0) {

    dayNotAlready = false;

    }

    }

    }

    }

    }

    }

    }

    }

    System.out.println("解除禁言倒计时:" + day + "天" + hour + "小时" + minute

    + "分钟" + second + "秒");

    }

    }

    展开全文
  • 公司出现这个问题,让写一个一直比当前时间天数大2的计时的日历。 刚开始是这样写的:得到系统时间年月日,将日的天数+2,并判断日的天数大小,并与闰年平年一起比较后将经过计算的年月日显示到桌面上。 写完后...

    公司出现这个问题,让写一个一直比当前时间天数大2的倒计时的日历。
    刚开始是这样写的:得到系统时间年月日,将日的天数+2,并判断日的天数大小,并与闰年平年一起比较后将经过计算的年月日显示到桌面上。
    写完后,发现代码行有点多,又重新写直接调用时间戳,进行计算,然后展示到页面。
    最后这样写了:

    var dt = new Date();
    var curYear_start = dt.getFullYear();
    var curMonth_start = dt.getMonth() + 1;
    var curDate_start = dt.getDate();
    dt.setDate(dt.getDate() + 2);
    var curMonth = dt.getMonth() + 1;
    var curDate = dt.getDate();
    
    $(function()
    {
        $(".curMonth").html(curMonth);
        $(".curDate").html(curDate);
    
        $(".curYear_start").html(curYear_start);
        $(".curMonth_start").html(curMonth_start);
        $(".curDate_start").html(curDate_start);       
    
    });

    直接调用可以得到+2的天数。

    展开全文
  • $(function(){var tYear = ""; //输入的年份var tMonth = ""; //输入的月份var tDate = ""; //输入的日期var iRemain =... //倒计天数var sHour = ""; //倒计时的小时var sMin = ""; //倒计时的分钟var sSec = "";...

    $(function(){

    var tYear = ""; //输入的年份

    var tMonth = ""; //输入的月份

    var tDate = ""; //输入的日期

    var iRemain = ""; //开始和结束之间相差的毫秒数

    var sDate = ""; //倒计的天数

    var sHour = ""; //倒计时的小时

    var sMin = ""; //倒计时的分钟

    var sSec = ""; //倒计时的秒数

    var sMsec = ""; //毫秒数

    //通用工具函数,在个位数上加零,根据传的N的参数,来设前面加几个零

    function setDig(num,n){

    var str = ""+num;

    while(str.length

    str="0"+str

    }

    return str;

    }

    //获得相差的天,小时,分钟,秒

    function getdate(){

    //创建开始时间和结束时间的日期对象

    var oStartDate = new Date();

    var oEndDate = new Date();

    //获取文本框的值

    tYear = $("#tyear").val();

    tMonth = $("#tmonth").val();

    tDate = $("#tdate").val();

    //设置结束时间

    oEndDate.setFullYear(parseInt(tYear));

    oEndDate.setMonth(parseInt(tMonth)-1);

    oEndDate.setDate(parseInt(tDate));

    oEndDate.setHours(0);

    oEndDate.setMinutes(0);

    oEndDate.setSeconds(0);

    //求出开始和结束时间的秒数(除以1000)

    iRemain = (oEndDate.getTime() - oStartDate.getTime())/1000;

    //总的秒数除以一天的秒数,再取出整数部分,就得出有多少天。

    sDate = setDig(parseInt(iRemain/(60*60*24)),3);

    //总的秒数除以一天的秒数,然后取其中的余数,就是把整数天扣除之后,剩下的总秒数。

    iRemain %= 60*60*24;

    //剩下的总秒数除以一个小时的秒数,再取整数部分,就是有多少小时。

    sHour = setDig(parseInt(iRemain/(60*60)),2)

    //剩下的总秒数除以一个小时的秒数,再取其余数,这个余数,就是扣除小时这后,剩下的总秒数。

    iRemain %= 60*60;

    //剩下的总秒数除以一分钟的秒数,再取其整数部分,就是有多少分钟。

    sMin = setDig(parseInt(iRemain/60),2)

    //剩下的总秒数除以一分钟的秒数,再取其余数,这个余数,就是扣除分钟之后,剩下的总秒数。

    iRemain%=60;

    //剩下的秒数

    sSec = setDig(iRemain,2);

    //毫秒数

    sMsec = sSec*100;

    }

    //更改显示的时间

    function updateShow(){

    $(".showdate span").text(tYear+"-"+tMonth+"-"+tDate);

    $(".count span").each(function(index, element) {

    if(index==0){

    $(this).text(sDate);

    }else if(index==1){

    $(this).text(sHour);

    }else if(index == 2){

    $(this).text(sMin);

    }else if(index == 3){

    $(this).text(sSec);

    }else if(index == 4){

    $(this).text(sMsec);

    }

    });

    }

    //每一秒执行一次时间更新

    function autoTime(){

    getdate();

    //如果小于零,清除调用自己,并且返回

    if(iRemain<0){

    clearTimeout(setT);

    return;

    }

    updateShow();

    var setT = setTimeout(autoTime,1000);

    }

    //点击按钮开始计时

    $("button").click(function(){

    autoTime();

    })

    })

    昨天看了“妙味课堂”的倒计时视频,自己学着写了下。

    记录需要注意的地方:

    1.取模运算:

    iRemain %= 60*60*24;

    就是返回余数,在这个实例中的余数,就是把整数拿走后,剩下的秒数。

    2.工具函数 setDig(num,n)

    可以根据传入的参数,自动在传入的数字前加零

    DEMO(案例)下载:http://xiazai.jb51.net/yuanma/mydaojishi(jb51.net).rar

    以上就是本文的全部内容,希望对大家有所帮助,谢谢对聚米学院的支持!

    展开全文
  • //倒计天数 var sHour = ""; //倒计时的小时 var sMin = ""; //倒计时的分钟 var sSec = ""; //倒计时的秒数 var sMsec = ""; //毫秒数 //通用工具函数,在个位数上加零,根据传的N的参数,来设前面加几个零...
  • 在线演示:http://demo.jb51.net/js/2012/mydaojishi/打包下载:mydaojishi_jb51核心代码... //倒计天数 var sHour = “”; //倒计时的小时 var sMin = “”; //倒计时的分钟 var sSec = “”; //倒计时的秒数 var s
  • jQuery-计时

    2012-05-30 09:08:00
    $(function(){ var tYear = ""; //输入的年份 var tMonth = ""; //输入的月份 var tDate = ""; //输入的日期 var iRemain = "... //倒计天数 ...
  • 此外,还有许多特殊的计时牌,它们可以把安全生产天数计时天数、工作环境温度、万年历等等都设计到其中,从而大大扩展了计时牌的应用范围。 1 系统设计原理  本设计采用飞利浦公司的P87LPC762做为微处理器,...
  • 需要倒计的时间 = 到数值 (编辑框小时.内容) × 60 × 60 + 到数值 (编辑框分钟.内容) × 60 .如果 (需要倒计的时间 ≤ 50) 信息框 (“设置的时间段不符合规范”, 0, ) 返回 () .否则 时钟1.时钟周期 = ...
  • Bacysoft®纪念日计时器使用说明

    千次阅读 2012-01-16 13:26:38
    功能简介: ...本应用最大的特点是可以设定一个计时器,用于计算现在距离纪念日的天数,如果纪念日是未来的某一天,则为计时;如果是过去的某一天,则为正计时。本服务完全免费。   创建我的纪念日
  • 通过条件格式将小和总计的行设为不同的颜色 如何实现这样的条件格式 隔行不同字体颜色怎么设置 让不同类型数据用不同颜色显示 如何做这样的EXCEL表(颜色交叉) 条件格式 使用条件格式设置颜色条纹 相同数据的提示...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    通过条件格式将小和总计的行设为不同的颜色 如何实现这样的条件格式 隔行不同字体颜色怎么设置 让不同类型数据用不同颜色显示 如何做这样的EXCEL表(颜色交叉) 条件格式 使用条件格式设置颜色条纹 相同数据的提示...
  • 【万年日历】 可以查询所有节、假日信息和公农双历,以及计算两时点间的相隔天数等。 【LED时钟与样式】 超漂亮的LED时钟,有默认时钟、蓝色时钟、经典时钟三种样式供选择。 【系统常用工具】 系统常用工具的快捷...
  • 【万年日历】 可以查询所有节、假日信息和公农双历,以及计算两时点间的相隔天数等。 【LED时钟与样式】 超漂亮的LED时钟,有默认时钟、蓝色时钟、经典时钟三种样式供选择。 【系统常用工具】 系统常用工具的快捷...
  • 【万年日历】 可以查询所有节、假日信息和公农双历,以及计算两时点间的相隔天数等。 【LED时钟与样式】 超漂亮的LED时钟,有默认时钟、蓝色时钟、经典时钟三种样式供选择。 【系统常用工具】 系统常用工具的快捷...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    成本核算 【取唯一值】 还在使用<分类汇总>或<小>功能对数据进行唯一值的繁锁操作吗? 本工具可快捷方便地取任意选中区域的存储格内容为唯一值清单,快捷且高效。 【取产品型号】 功能较在字符串中取数字强大多倍...
  • 成本核算 【取唯一值】 还在使用<分类汇总>或<小>功能对数据进行唯一值的繁锁操作吗? 本工具可快捷方便地取任意选中区域的存储格内容为唯一值清单,快捷且高效。 【取产品型号】 功能较在字符串中取数字强大多倍...
  • Cool(32KB) 617,o039_72.zip 鼠标程器(23KB) 618,o038_love.zip 情书生成器源代码(161KB) 619,o037_shellex5.zip 能打开默认的文件夹和默认的网站(7KB) 620,o035_shchangenotify.zip 未...
  • Cool(32KB) 617,o039_72.zip 鼠标程器(23KB) 618,o038_love.zip 情书生成器源代码(161KB) 619,o037_shellex5.zip 能打开默认的文件夹和默认的网站(7KB) 620,o035_shchangenotify.zip 未...
  • Cool(32KB) 617,o039_72.zip 鼠标程器(23KB) 618,o038_love.zip 情书生成器源代码(161KB) 619,o037_shellex5.zip 能打开默认的文件夹和默认的网站(7KB) 620,o035_shchangenotify.zip 未...

空空如也

空空如也

1 2
收藏数 25
精华内容 10
关键字:

倒计天数