慢慢打印(模拟打字)

时间:2010-11-04 17:29:44

标签: python

我正在尝试在python中制作一个文本游戏。一切顺利,但是,我想制作一个能让我在终端上打印东西的功能,但是时尚帽子就像打字一样。

目前我有:

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

print_slow("junk")

输出结果为:

j u n k

有没有办法摆脱字母之间的空格?

4 个答案:

答案 0 :(得分:15)

在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='')

答案 1 :(得分:7)

这是我的“类似真人”的功能:

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 ''

答案 2 :(得分:4)

试试这个:

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")

答案 3 :(得分:0)

尝试一下:

import sys,time

def sprint(str):
   for c in str + '\n':
     sys.stdout.write(c)
     sys.stdout.flush()
     time.sleep(3./90)

sprint('hello world')