gpt4 book ai didi

python `print` 在循环中不起作用

转载 作者:太空狗 更新时间:2023-10-29 20:42:14 27 4
gpt4 key购买 nike

我有多个循环在一起, sleep 在最内层的循环中。例如:

from time import sleep

for i in range(10):
print i,
for j in range(-5,5):
if j > 0:
print '.',
else:
print 'D',
sleep(1)
print ''

如果你运行代码,你可能希望在它 D sleep 1 秒之后得到 i 值,然后另一个 D 再次 sleep 直到到最后。

但结果不同,它等待 10 秒并打印整行 0 D D D D D D D 。 . . . 并再次等待打印下一行。

我发现打印末尾的逗号导致了这个问题。我该如何解决?

最佳答案

由于逗号的存在,输出缓冲到\n

您应该在每次打印后刷新 stdout 或使用 sys.stdout.write 和刷新缓冲区。

定义打印方法:

import sys

def my_print(text):
sys.stdout.write(str(text))
sys.stdout.flush()

并在行尾打印一个\n

关于python `print` 在循环中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25368786/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com