为什么我的python睡眠功能无法正常工作?

问题描述

我正在尝试制作一个程序,一次打印一个字母,但每个字母之间都有一个停顿。我发现了一个名为sleep的函数,应该可以帮助您。我为此使用了sleep函数,但是它首先等待,然后打印文本,而不是我想要的文本。这是我的代码

from time import sleep

firstline = "Hello!"
for i in range(len(firstline)):
    print(firstline[i],end = "")
    sleep(1)

它应该打印Hello的每个字母!在字母之间停顿1秒。但是它只等待六秒钟,然后立即打印所有内容。我是python的新手,因此,如果您在我的代码中发现错误,请告诉我。谢谢。

解决方法

标准输出流被缓冲并在换行符上刷新。如果不输出换行符,则需要进行显式刷新。

还应考虑每当看到for x in range(len(y)):就是所需要的for x in y:模式时。

from time import sleep

firstline = "Hello!"
for letter in firstline:
    print(letter,end = "",flush=True)
    sleep(1)