🐍「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 逐字符,清屏刷帧,终端动画成!"**🎵

相关推荐
浮尘笔记3 小时前
Go语言临时对象池:sync.Pool的原理与使用
开发语言·后端·golang
梦梦代码精4 小时前
BuildingAI vs Dify vs 扣子:三大开源智能体平台架构风格对比
开发语言·前端·数据库·后端·架构·开源·推荐算法
REDcker5 小时前
RESTful API设计规范详解
服务器·后端·接口·api·restful·博客·后端开发
没有bug.的程序员7 小时前
Java 序列化:Serializable vs. Protobuf 的性能与兼容性深度对比
java·开发语言·后端·反射·序列化·serializable·protobuf
我爱娃哈哈8 小时前
SpringBoot + Spring Security + RBAC:企业级权限模型设计与动态菜单渲染实战
spring boot·后端·spring
小王不爱笑1329 小时前
SpringBoot 配置文件
java·spring boot·后端
想用offer打牌10 小时前
Spring AI vs Spring AI Alibaba
java·人工智能·后端·spring·系统架构
码农幻想梦11 小时前
实验五 spring入门及IOC实验
java·后端·spring
a程序小傲11 小时前
蚂蚁Java面试被问:向量数据库的相似度搜索和索引构建
开发语言·后端·python·架构·flask·fastapi
派大鑫wink13 小时前
【Day39】Spring 核心注解:@Component、@Autowired、@Configuration 等
java·后端·spring