开发者

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜