2017-07-17 3 views
0

Also habe ich dieses Stück Code, sehr grundlegende Sachen, an denen ich arbeite. Ich stolperte über diesen "langsamen Typ", den ich mag, aber wenn ich ihn anstelle aller Druckfunktionen verwende, wird der Großteil meiner Ausgabe in einer Zeile geschrieben.sys.stdout.write druckt nicht mehr auf der nächsten Zeile

import sys, time 


def print_slow(str): 
    for letter in str: 
     sys.stdout.write(letter) 
     sys.stdout.flush() 
     time.sleep(0.02) 

print_slow('What\'s your name?') 

name = raw_input() 

print_slow('My name is ' + name) 

if name == 'alex' or name == 'Alex': 
    print_slow('That\'s a good name') 
if name == 'Alexandru' or name == 'alexandru': 
    print_slow('That\'s a very good name') 
+0

Fügen Sie 'sys.stdout.write ('\ n')' am Ende Ihrer Funktionsdefinition (nach dem Ende der 'for'-Schleife) hinzu. – khelwood

+0

Dies schreibt jeden Buchstaben in eine neue Zeile. –

+0

Das hat funktioniert. Ich habe es zuerst in die Schleife eingefügt. –

Antwort

1

Sie können am Ende jeder Zeile, wo Sie es wünschen, oder fügen Sie es dem print_slow Funktion ein Newline-Zeichen (\n) drucken.

+0

Ich bin nicht sicher, wie ich es der print_slow-Funktion hinzufügen würde. Weil es zu viel wäre, es nach jeder einzelnen Zeile hinzuzufügen. –

+0

Sie würden eine neue Zeile am Ende der Funktionsdefinition außerhalb der for-Schleife hinzufügen: 'sys.stdout.write ('\ n')' –

Verwandte Themen