所以我使用Time.sleep()
来查看正在发生的事情。
这是来源:
def fibo():
pv1,pv2 = 0,1
while True:
yield pv2
pv1,pv2=pv2,pv1+pv2
import time
f=fibo()
for result in f:
print(result,end=' ')
time.sleep(0.5)
我预计每1秒钟“1 1 2 3 ......”但它永远不会奏效!没有睡眠方法,它运行正常。 我觉得有些东西,但我太无知了,不知道为什么。
答案 0 :(得分:1)
默认情况下,当标准输出转到终端时,输出是行缓冲的。您可以通过手动刷新标准输出使代码按预期工作。这就是你如何刷新标准输出:
import sys # probably near the top of the file
sys.stdout.flush() # after printing