命令提示符不能一个字母一个字母地写?[重复]


问题内容

这个问题已经在这里有了答案

为什么在循环使用睡眠时Python中的打印不会暂停? (2个答案)

4年前关闭。

import time
def textinput(txt,waittime=0.04):
    end = len(txt)
    letters = 0
    while end != letters:
        print(txt[letters], end = '')
        letters += 1
        time.sleep(waittime)
textinput('Hello there!')

这基本上是我逐个字母地写单词的功能,它在测试时在IDLE上完美运行,但是,当我正常运行它(并打开命令提示符)时,我要写的内容保持不可见,然后突然显示单词。我输入的内容有误吗,还是命令提示符出现问题?我正在使用Windows
10。


问题答案:

您不需要使用sys,只需要flush=True

def textinput(txt,waittime=0.4):
    for letter in txt:
        print(letter, end = '',flush=True)
        time.sleep(waittime)

您也可以简单地遍历字符串本身。