2012-02-12 29 views
18

"Merhaba dünya" dizesini tek bir satıra nasıl yazdırabilirim, ancak her seferinde bir karakter yazdırarak her harfin yazdırılması arasında bir gecikme var mı? Çözümlerimin her satırında bir karakter veya tüm dizenin bir kerede gecikmeli yazdırmasıyla sonuçlandı. Bu en yakın olduğum şey. BuradaTek bir satırda tek bir karakter nasıl yazdırılır?

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

cevap

27

İki hileler, doğru yerde her şeyi almak için bir akış kullanmak gerekir ve ayrıca dere tampon temizlemek gerekir.

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


hello world 

eğlenceler: Eğer print fonksiyonun end parametresini belirtebileceğinizden

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") 
+5

Dize enterpolasyonu neden? sys.stdout.write (c) 'sistemimde gayet iyi çalışıyor. – Blair

4
import sys 
import time 

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

Burada, Python 3 için basit bir hile! Sonuçlar şimdi animasyonlu!

İlgili konular