- # 导入资源库
- from time import sleep
- from random import randint
- # 定义动画文字函数
- # text:准备处理的文本|必须|字符串
- # speed:每秒输出的文字组数|可选(默认为2)|整型
- # amount:每组文字的字数|可选(默认为1)|整型
- def animate_text(text, speed=2, amount=1):
- # 检查传入数据是否有误
- if not isinstance(text, str):
- raise TypeError("参数“text”需要字符串类型")
- if not isinstance(speed, int):
- raise TypeError("参数“speed”需要整型类型")
- if not isinstance(amount, int):
- raise TypeError("参数“amount”需要整型类型")
- item = 0 # 循环中的下标
- while len(split_list)-1 >= item: # 当列表长度≥下标时重复执行
- if amount != 0:
- print(text[item:(item+amount)], end="") # 每次输出一个字符
- item += amount # 增加下标
- sleep(1/speed) # 根据速度等待
- else:
- t = randint(0,3)
- print(text[item:(item+t)], end="") # 每次输出随机个字符
- item += t # 增加下标
- sleep(1/speed) # 根据速度等待
- if __name__ == "__main__": # 测试效果
- animate_text("TESTIFICATE\n转义字符可以工作", 3, 2)
复制代码
|