为了模拟在一行上移动的字符串,我使用os.system("clear")
。我希望每次都能在不清除终端的情况下创建动画。另外,有没有更明确的方法将列表中的前一个元素更改为原始元素而不编写x[pos-1] = char
?我也很想看看其他人如何创建一个简单的文本动画。
<!-- language: lang-Python -->
import os
def animate(photo,n,start,char = " ",_time = 1):
x = [char for i in range(n)]
for pos in range(start, n):
os.system("clear")
x[pos] = photo
x[pos - 1] = char
print("".join(x))
time.sleep(_time)
if __name__ == "__main__":
animate("~========*>~~",50,0,_time = 0.05)
答案 0 :(得分:0)
如何使用回车代替os.system("clear")
并使用乘法运算符的重复形式来简化事情:
import time
def animate(photo, n, start, char=" ", _time=1):
for pos in range(start, n):
print(char * pos, photo, sep='', end=chr(13))
time.sleep(_time)
if __name__ == "__main__":
animate("~========*>~~", 50, 0, _time=0.05)