我正在尝试在python中制作一个文本游戏。一切顺利,但是,我想制作一个能让我在终端上打印东西的功能,但是时尚帽子就像打字一样。
目前我有:
def print_slow(str):
for letter in str:
print letter,
time.sleep(.1)
print_slow("junk")
输出结果为:
j u n k
有没有办法摆脱字母之间的空格?
答案 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')