2010-11-04 83 views
7

我想在python中製作一個文本遊戲。一切都很順利,但是,我想製作一個功能,讓我能夠在終端上打印一些東西,但是在一個時尚帽子看起來像打字。打印慢(模擬打字)

目前我有:

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

print_slow("junk") 

輸出是:

j u n k 

有擺脫字母之間的空間的一種方式?

回答

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

試試這個:

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

這是我的「像真人一樣的類型」功能:

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