为什么Python不打印我要求它在循环中打印的内容?

时间:2015-12-02 22:04:33

标签: python

我有一个代码,我使用循环迭代某个方案。在每次迭代中,我想要打印出发生的事情。一个愚蠢的最小工作示例如下所示:

import time
Iter=0
for k in range(1,10):
    Iter=Iter+1 
    print('At iteration ',Iter,': k=',k,'.',sep='')
    time.sleep(1)

time.sleep(1)可以让我的问题在如此短的迭代方案中可见:在每次迭代时,print()函数只打印第一个字符串。其余部分仅在下一次迭代中调用print()函数后出现。如果我在循环之外使用与print()函数完全相同的语法,那么我获得了我想要的输出。当我在循环中时,如何获得相同的输出?

我是新手,但我怀疑在Win10机器上使用Spyder IDE的Python 3.5的Anaconda3(64位)发行版可能是相关的。

编辑1:使用@RemcoGerlich的建议解决:"尝试添加' import sys'然后在打印sys.stdout.flush()之后。"非常感谢!

0 个答案:

没有答案
相关问题