在键入的字符之间延迟

时间:2018-04-19 23:23:44

标签: python

首先,看看这个:

import time

wait = time.sleep

def put(char):
    print(char, end='')

def text(*pieces):
    for p in pieces:
        for c in p:
            put(p)
            wait(0.25)

我想制作一个逐个打印字符的功能,延迟时间为250毫秒。但问题是,它实际上并没有逐个打印字符,而是在“for”循环结束之前没有任何事情发生,然后直接打印给定的文本片段。有人可以告诉我另一种方法吗,如在Undertale中,一个接一个地输入/打印/放置字符有延迟?感谢。

1 个答案:

答案 0 :(得分:1)

您需要将flush=True添加到print语句中,否则系统将等待for循环完成。注意:只有在您使用end=''进行打印时才能执行此操作。

wait = time.sleep

def put(char):
    print(char, end='', flush=True)

def text(pieces):
    print(pieces)
    for p in pieces:
        put(p)
        wait(0.25)

text('arsasrtrasars')