jerryxjr1220 发表于 2016-10-21 22:58:47

超简洁的python,只要10行代码就能做一个小时钟和小日历

本帖最后由 jerryxjr1220 于 2016-11-28 21:38 编辑

Python不愧为最简洁的编程语言之一。
只要10行代码就能做一个小时钟和小日历出来。
界面这个样子:

可以放在桌面上会自动更新时间。
可以根据需要稍微修改下代码,实现各种功能,闹钟,提醒,自动启动和关闭程序,自动关机。。。都不是问题{:5_109:}

代码如下:
**** Hidden Message *****

看在那么多鱼油那么热情,我对小时钟做了点修改,变成LCD显示,是不是看得更舒服呢?

同样,可以双击打开,持续运行。
代码送上:
import time
import os

lcd={0:[' _','| | ','|_| '],\
   1:['    ','| ','| '],\
   2:[' _',' _| ','|_'],\
   3:[' _',' _| ',' _| '],\
   4:['    ','|_| ','| '],\
   5:[' _','|_',' _| '],\
   6:[' _','|_','|_| '],\
   7:[' _','| ','| '],\
   8:[' _','|_| ','|_| '],\
   9:[' _','|_| ',' _| ']}

def number2lcd(n):
    global lcd
    output = ['','','']
    l = len(str(n))
    while True:
      i = n // 10**(l-1)
      for j in range(3):
            output += lcd
      n = n % 10**(l-1)
      l -= 1
      if l == 0:
            break
    return output

def clock():
    t = time.localtime()
    hour = number2lcd(t.tm_hour)
    minute = number2lcd(t.tm_min)
    second = number2lcd(t.tm_sec)
    output = +' '+minute+' '+second,hour+'.'+minute+'.'+second,hour+'.'+minute+'.'+second]
    return output

while True:
    o = os.system('cls')
    for each in clock():
      print (each)
    time.sleep(1)

调皮小鳄鱼 发表于 2016-10-22 00:55:02

看看{:5_92:}

woaryo@163.com 发表于 2016-10-22 09:31:06

{:5_109:}

confusion 发表于 2016-10-22 10:59:36

哈哈,厉害了

SixPy 发表于 2016-10-22 12:21:29

不必要cls清屏
print可以实现简单的定点打印

499573465 发表于 2016-10-22 12:28:47

看看

SixPy 发表于 2016-10-22 12:36:48

本帖最后由 SixPy 于 2016-10-22 12:38 编辑

SixPy 发表于 2016-10-22 12:21
不必要cls清屏
print可以实现简单的定点打印

import time
while True:
      t = time.localtime()
      print("\r现在时刻: %d 年 %d 月 %d日 %d 时 %d 分 %d 秒 星期 %d" \
            % (t.tm_year,t.tm_mon,t.tm_mday,t.tm_hour,t.tm_min,t.tm_sec,t.tm_wday+1)
            ,end='')   
      time.sleep(1)

sesco 发表于 2016-10-22 13:53:23

看看

怎么还是菜鸟 发表于 2016-10-22 15:55:13

带着诚信来学习

Mr.Error 发表于 2016-10-22 17:06:15

向前辈学习

冰幻之水 发表于 2016-10-22 17:23:30

我要看代码

lb971216008 发表于 2016-10-22 17:46:46

66666666666666666

lb971216008 发表于 2016-10-22 17:48:57

SixPy 发表于 2016-10-22 12:21
不必要cls清屏
print可以实现简单的定点打印

可厉害了{:5_109:}

lb971216008 发表于 2016-10-22 17:54:16

SixPy 发表于 2016-10-22 12:36


这个显示有BUG,每次到0秒之后,变成星期66{:10_250:}

lb971216008 发表于 2016-10-22 17:58:15

SixPy 发表于 2016-10-22 12:36


这才是正确代码import time
while True:
      t = time.localtime()
      print("\r现在时刻: %d 年 %2d 月 %2d日 %2d 时 %2d 分 %2d 秒 星期 %d" \
            % (t.tm_year,t.tm_mon,t.tm_mday,t.tm_hour,t.tm_min,t.tm_sec,t.tm_wday+1)
            ,end='')   
      time.sleep(1)

SixPy 发表于 2016-10-22 19:50:01

lb971216008 发表于 2016-10-22 17:58
这才是正确代码

print("\r现在时刻: %d 年 %d 月 %d日 %d 时 %d 分 %d 秒 星期 %d " \

在最后加个空格就行了~

357941328 发表于 2016-10-22 20:09:07

看看鱼哥的大作

薄衫 发表于 2016-10-22 21:51:38

看看

lb971216008 发表于 2016-10-22 22:20:00

SixPy 发表于 2016-10-22 19:50
print("\r现在时刻: %d 年 %d 月 %d日 %d 时 %d 分 %d 秒 星期 %d " \

在最后加个空格 ...

不行吧,月 日 时 分 秒 都可能变成一位,就会出bug

python好好学 发表于 2016-10-23 20:06:05

看看看看
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 超简洁的python,只要10行代码就能做一个小时钟和小日历