printing slowly (Simulate typing)
I am trying to make a textual game in python. All goes well however, I w开发者_C百科ould like to make a function that will allow me to print something to the terminal, but in a fashion hat looks like typing.
Currently I have:
def print_slow(str):
for letter in str:
print letter,
time.sleep(.1)
print_slow("junk")
The output is:
j u n k
Is there a way to get rid of the spaces between the letters?
This is my "type like a real person" function:
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 ''
In Python 2.x you can use sys.stdout.write
instead of print
:
for letter in str:
sys.stdout.write(letter)
time.sleep(.1)
In Python 3.x you can set the optional argument end
to the empty string:
print(letter, end='')
Try this:
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")
Try this:
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')
精彩评论