首页 > 编程 > Python > 正文

python控制台显示时钟的示例

2020-02-23 05:10:43
字体:
来源:转载
供稿:网友

代码如下:
#!/usr/bin/env python
# coding: utf-8
#
#
# show time in console
#
import sys
import time

raws = '''
.--.

|  |

`--`
  .
 /|

  |
 ---
---.

---`

`---
---.

---|

---`
.  .

`--|

   |
.---

`--.

---`
.---

|--.

`--`
.--.

`  |

   |
.--.

|--|

`--`
.--.

`--|

---`
'''.strip()
numbers = {}
def init():
    for num in range(10):
        numbers[str(num)] = []
    lineno = 0
    for line in raws.split('/n'):
        line = line.ljust(4)
        arr = []
        for char in line:
            arr.append(char) # != ' ')
        numbers[str(lineno/5)].append(arr)
        lineno += 1
    numbers[':'] = [[' ', ' ', ' ', ' '], [' ', ' ', '-', ' '], [' ', ' ', ' ', ' '], [' ', ' ', '-', ' '], [' ', ' ', ' ', ' ']]
    numbers[' '] = [[' ', ' ', ' ', ' '], [' ', ' ', ' ', ' '], [' ', ' ', ' ', ' '], [' ', ' ', ' ', ' '], [' ', ' ', ' ', ' ']]
def print_num(digtal):
    digtal = str(digtal)
    screen = []
    for i in range(5):
        screen.append([])
    for num in digtal:
        for i, linechar in enumerate(numbers[num]):
            for char in linechar:
                screen[i].append(char)
            screen[i].append('   ')
    for line in screen:
        print ''.join(line)
init()
def cls():
    sys.stdout.write('/033[2J/033[0;0H')
    sys.stdout.flush()

while True:
    t = time.strftime("%H:%M:%S")
    cls(); print_num(t)
    time.sleep(1)
    t = time.strftime("%H %M %S")
    cls(); print_num(t)
    time.sleep(1)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表