🐍「Python 终端彩色时钟」:彩虹渐变 + HSV 调色,30 行代码让命令行走起!

不需要 GUI,不需要第三方库------

1 个文件、30 行代码、0 依赖,

就能在终端里看到 实时跳动的彩虹时钟 ,

还支持 12/24 小时制 随意切换!

复制即跑,改两行就能玩出更多花样!🎨

一、最终效果:先睹为快!

运行命令:

bash 复制代码
python terminal_clock.py --12

终端实时显示:

复制代码
🌈 12:34:56 PM
(每字符都在渐变,0.2 秒刷新一次)

二、核心思路(3 步)

  1. HSV → RGB:让颜色随时间流动(Hue 循环)
  2. 逐字符上色:每个字单独计算色相偏移 → 彩虹渐变
  3. 清屏 + 刷新 :用 os.system('clear||cls') 实现"动画帧"

三、完整源码(< 30 行)

python 复制代码
#!/usr/bin/env python3
import time, os, sys, datetime

def hsv_rgb(h, s, v):
    """HSV → RGB 0-255 简易实现"""
    c = v * s
    x = c * (1 - abs((h * 6) % 2 - 1))
    m = v - c
    r, g, b = [(c + m), (x + m), (m)], [(x + m), (c + m), (m)], [(m), (c + m), (x + m))][int(h * 6) % 6]
    return int(r * 255), int(g * 255), int(b * 255)

def rainbow_clock():
    while True:
        now = datetime.datetime.now()
        text = now.strftime("%I:%M:%S %p") if "--12" in sys.argv else now.strftime("%H:%M:%S")
        rainbow = "".join(f"\033[38;2;{r};{g};{b}m{c}\033[0m"
                          for i, c in enumerate(text)
                          for r, g, b in [hsv_rgb((i / len(text) + time.time() % 1), 1, 1)])
        os.system('clear||cls')
        print(f"\n{rainbow}\n{'按 Ctrl+C 退出':^20}")
        time.sleep(0.2)

if __name__ == "__main__":
    rainbow_clock()

四、运行方式

bash 复制代码
# 24 小时制
python terminal_clock.py

# 12 小时制(AM/PM)
python terminal_clock.py --12

五、可玩改装(3 分钟)

改装点 代码提示
心跳闪烁 time.sleep(0.5) 改大,加 if int(time.time()) % 2: 控制显隐
渐隐尾巴 清屏前打印 半透明空格 覆盖旧帧
加边框 print("═" * 20) 上下框线
改形状 把 text 换成 emoji 时钟 🕐🕑🕒

六、知识点速记(背它!)

**"HSV 循环色相,RGB 逐字符,清屏刷帧,终端动画成!"**🎵

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码4 天前
别再前后端各写一套表单校验了
java·后端
大勇前进4 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu4 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile4 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白804 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙4 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端
盖伦发发4 天前
软件工程SOLID 五大设计原则
后端·软件工程