首先,看看这个:
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中,一个接一个地输入/打印/放置字符有延迟?感谢。
答案 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')