Подтвердить что ты не робот

Как печатать один символ за раз на одной строке?

Как напечатать строку "hello world" на одной строке, но по одному символу за раз, чтобы между печатью каждой буквы была задержка? Мои решения привели либо к одному символу в строке, либо к отложенной печати всей строки за один раз. Это самое близкое, что я получил.

import time
string = 'hello world'
for char in string:
    print char
    time.sleep(.25)
4b9b3361

Ответ 1

Два трюка здесь, вам нужно использовать поток, чтобы получить все в нужном месте, а также нужно очистить буфер потока.

import time
import sys

def delay_print(s):
    for c in s:
        sys.stdout.write(c)
        sys.stdout.flush()
        time.sleep(0.25)

delay_print("hello world")

Ответ 2

Вот простой трюк для Python 3, так как вы можете указать параметр end функции print:

>>> import time
>>> string = "hello world"
>>> for char in string:
    print(char, end='')
    time.sleep(.25)


hello world

Удачи! Результаты анимированы сейчас!

Ответ 3

import sys
import time

string = 'hello world\n'
for char in string:
    sys.stdout.write(char)
    sys.stdout.flush()
    time.sleep(.25)