语言:Python(30 行内)
难度:🌕🌕🌑(2 / 5)
特点:彩色输出 + 简单加密 + 彩蛋
📜 题目描述
- 输入任意字符串(英文/数字/符号)
- 终端输出彩虹渐变的密码盘:
- 每行一个字符
- 颜色随位置渐变(红→绿→蓝→紫)
- 行号 = ASCII 偏移值(彩蛋)
- 解密方式(隐藏彩蛋):
取每行行号 → 转 chr() → 拼接 → 得到原字符串!
💻 参考实现(先别看!自己写!)
import sys, math
def rainbow_disk(s):
for i, ch in enumerate(s):
hue = i / len(s) # 0.0 → 1.0
r = int(255 * (1 + math.cos(hue * 2 * math.pi)) / 2)
g = int(255 * (1 + math.cos(hue * 2 * math.pi + 2)) / 2)
b = int(255 * (1 + math.cos(hue * 2 * math.pi + 4)) / 2)
print(f"\033[38;2;{r};{g};{b}m{i:3d} → {ch}\033[0m")
if __name__ == "__main__":
txt = input("请输入任意字符串:")
rainbow_disk(txt)
# 彩蛋解密(行号→字符)
dec = ''.join(chr(i) for i in range(len(txt)))
print(f"\n🎁 解密彩蛋:{dec}")