ich möchte gerne einen String centern.
Jedoch soll jeder Buchstabe nach einander und hintereinander Ausgegeben werden.
Also Hallo : H (pause) a (pause) l (pause) l (pause) o.
Dazu habe ich folgende Funktion geschrieben:
Code: Alles auswählen
import sys, time
def text_typer(string, delay) :
size = 40
word_lenght = len(string)
size = int(size) + word_lenght
for letter in string:
sys.stdout.write(letter.center(size))
sys.stdout.flush()
time.sleep(delay)
size = 0
text_typer ("Hallo", 0.03)
Code: Alles auswählen
H allo
Erstetzt man nun
Code: Alles auswählen
letter.center(size)
Code: Alles auswählen
letter.rjust(size)
Das
Code: Alles auswählen
size = 0
Das ist mein erstes Problem. Den ich würde gerne mit der center() Methode arbeiten anstatt mit der .rjsut()
Zudem ist mein zweites Problem das ich keine neue Line ausgeben kann. Also lautet der Befehl :
Code: Alles auswählen
text_typer ("Hallo\nHallo",0.03)
Code: Alles auswählen
Hallo
Hallo
Das möchte ich natürlich nicht.
Mein Lösungsanatz war den ganzen String in eine Liste zu spliten und dann das erste Wort aus zu geben.
Dannch sollte ein If kommen in dem gecheckt wird ob das nächste Wort "\n" ist das sollte dann mit print ("\n") ausgegeben werden.
Wenn nicht dann einfach wieder Buchstabe für Buchstabe.
Jedoch bekomme ich das "\n" nicht in eine liste mit string.split
Ich hoffe jemand kann mir helfen.
Niclas