我正在尝试在命令行上实现 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)中执行此操作,程序将在每次循环迭代休眠后输出整个字符串。
实际上,您还可以通过在打印语句中包含 flush
参数来强制 print()
刷新输出缓冲区。所以你可以避免导入 sys
如果你这样做:
print(char,end='', flush=True)
关于python - 循环水平打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49074902/