慢速打印(模拟输入)

10 投票
4 回答
52664 浏览
提问于 2025-04-16 06:34

我正在用Python制作一个文字游戏。一切都很顺利,不过我想做一个功能,可以让我的输出在终端上看起来像是正在打字。

现在我有了:

def print_slow(str):
    for letter in str:
        print letter,
        time.sleep(.1)

print_slow("junk")

输出结果是:

j u n k

有没有办法去掉字母之间的空格呢?

4 个回答

10

试试这个:

def print_slow(str):
    for letter in str:
        sys.stdout.write(letter)
        sys.stdout.flush()
        time.sleep(0.1)

print_slow("Type whatever you want here")
17

这是我写的一个“像真实人一样输入”的函数:

import sys,time,random

typing_speed = 50 #wpm
def slow_type(t):
    for l in t:
        sys.stdout.write(l)
        sys.stdout.flush()
        time.sleep(random.random()*10.0/typing_speed)
    print ''
14

在Python 2.x中,你可以用 sys.stdout.write 来代替 print

for letter in str:
    sys.stdout.write(letter)
    time.sleep(.1)

在Python 3.x中,你可以把可选参数 end 设置为空字符串:

print(letter, end='')

撰写回答