Ich will mit dem folgendem Code ein "Hallo Welt!" so ausgeben, dass es aussieht als würde der Text getippt werden. Hierzu erstelle ich aus dem "Hallo Welt!"-String eine Liste. Jedes Zeichen lasse ich anschließend einzelnd und ohne Zeilenumbruch ausgeben. Im ersten Beispiel scheint time.sleep(.2) jedoch die Ausgabe der einzelnen Buchstaben zu verhindern. Erst nachdem die for-Schleife vollständig durchgelaufen ist, wird das "Hallo Welt!" ausgegeben.
Anscheinend hat dieses Problem mit dem Parameter end='' zu tun. Ohne diesem funktioniert die Ausgabe, so wie gewünscht. Allerdings wird hier natürlich jedes mal ein Zeilenumbruch mit ausgegeben, was aber verhindert werden soll.
Code: Alles auswählen
#!/usr/bin/env python
import time
for char in list('Hallo Welt!'):
print(char, end='') # mit end='' wird das "Hallo Welt!" erst nach dem Durchlauf der for-Schleife ausgegeben!
time.sleep(.2)
print()
Code: Alles auswählen
#!/usr/bin/env python
import time
for char in list('Hallo Welt!'):
print(char) # ohne end='' als Parameter werden die einzelnen Buchstaben ausgegeben!
time.sleep(.2)
print()