我试图在命令行上进行snort效果。
snort = "SNoooOOO000oooRT"
for char in snort:
time.sleep(0.1)
print(char,)
现在,这段代码是垂直打印的:
S
N
o
o
o
O
O
O
0
0
0
o
o
o
R
T
当我可以让它水平打印时,我会放松0.1秒等待以创建所需的效果。
干杯
@Patrick Artner的回答是正确的,但我只是想添加一个可以在某些IDE和Windows命令提示符下使用的用例。
为了获得所需的动画,你还必须包含sys
,并在循环的每次迭代中使用sys.stdout.flush()
,如下所示:
import time
import sys
snort = "SNoooOOO000oooRT"
for char in snort:
sys.stdout.flush()
time.sleep(0.1)
print(char,end='')
如果您不在命令提示符(或某些IDE)中执行此操作,程序将在循环的每次迭代后睡眠后输出整个字符串。
实际上,您还可以通过在print语句中包含print()
参数来强制flush
刷新输出缓冲区。因此,如果您这样做,您可以避免导入sys
:
print(char,end='', flush=True)
指定print command的结束字符 - 如果没有特别给出,则默认为换行符。这就是为什么单独的印刷品在新线上结束:
import time
snort = "SNoooOOO000oooRT"
for char in snort:
time.sleep(0.1)
print(char, end = '')
也很有用:sep=''
插件:
print(*[1,2,3,4,5,6,7,8], sep='+')
print(*list("Done"),sep=' ')
输出:
1+2+3+4+5+6+7+8
D o n e
print(char,)
替换为下面的行print语句将end参数与任何字符串或char一起使用
print(char,end='')