如何打印文本,使其看起来像是被键入的?



我正在尝试制作一个python程序,该程序将打印字符串中的每个字母,每个字母之间有一个小停顿,使其看起来像是实时打字。而不是print((函数,后者只是一次添加整行文本。

我对此研究了很多,很难找到一个确切的答案。这样做的一种方法就是制作一堆打印函数,其中包含time.sleep((,

但它们打印在不同的行上,即使你可以让它们打印在同一行上,也会非常低效。那么我该怎么做呢?

这其实很容易,你可以使用这个,

import time
string = ("Hey user whatup? Where are you!")
for char in string:
print(char, end='')
time.sleep(.01)

你可以及时改变时间。睡眠(.01(可以使时间变快或变慢。

你也可以做出这样的随机人类打字效果,

import time
import random
import sys
def fake_type(words):
words += "n"
for char in words:
time.sleep(random.choice([
0.3, 0.11, 0.08, 0.07, 0.07,
0.07, 0.06, 0.06, 0.05, 0.01
]))
sys.stdout.write(char)
sys.stdout.flush()
time.sleep(1)
fake_type("Example of randomly timed characters to create a human-like typing effect.")
fake_type("It works better when you have multiple lines to genererate more reading space.")

最新更新