慢速打印(模拟输入)
我正在用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='')