如何在Python打字机动画中添加字符循环高亮动画?
实现带白色高亮的循环打字机动画
要实现你要的效果,核心是用ANSI终端转义序列控制字符样式,再调整打字逻辑配合循环:
高亮样式控制:
\033[7m:开启反显高亮(白色字符+黑色背景,适配绝大多数现代终端)\033[0m:恢复终端默认样式
字符显示逻辑:
- 每个字符先以高亮状态输出,停留0.1秒
- 非换行字符通过退格符
\b覆盖为正常样式;换行符直接恢复样式并停留1秒 - 外层循环3次,每次播放前清屏,重复整个动画
完整代码如下:
import os import sys import time message = "Hello! \n\ We're glad to have you here! \n\ How may I assist you? \n\ " def typewriter(message): for char in message: # 输出高亮字符 sys.stdout.write(f"\033[7m{char}") sys.stdout.flush() time.sleep(0.1) if char != "\n": # 退格后替换为正常样式的字符 sys.stdout.write(f"\033[0m\b{char}") sys.stdout.flush() else: # 换行后恢复默认样式并暂停 sys.stdout.write("\033[0m") sys.stdout.flush() time.sleep(1) # 循环3次播放动画 for _ in range(3): os.system("clear") # Windows系统可替换为"cls" typewriter(message) # 动画结束后停留1秒再清屏循环 time.sleep(1)
注意:如果是Windows系统,把os.system("clear")改成os.system("cls")即可。
内容的提问来源于stack exchange,提问作者Armando Kauffman
相关产品推荐
相关产品推荐

