Print text vorherigen Text ersetzen lassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Kampfwaffel
User
Beiträge: 1
Registriert: Donnerstag 20. Februar 2020, 00:51

Hallo, ich habe angefangen mit Python in der letzen Zeit zu hantieren und derzeit sitze ich weil nen Kollege mich bat daran einen Würfel zu machen der durch Zufalls generierung die Zahlen ausspuckt.
Jetze ist aber mein Problem er hat den Spezifischen Wunsch geäußert das wenn da der text kommt "Es wird gewürfelt" das dieser nicht untereinander stehen soll sondern jedesmal soll der Text die vorherige Zeile ersetzen.
ich habe es mit dem befehl replace schon versucht aber ich bekomme das irgendwie nicht hin. das ist das Script wie ich es jetze zu diesem Zeitpunkt habe. Ich hoffe es kann mir jemand helfen.

Wegen dem Titel ich wusste nicht wie ich das im Titel formulieren soll :/

Code: Alles auswählen

import random
import time
from time import sleep


print("Dies ist die Würfeleinheit \n hier kann nach belieben gewürfelt werden")


while True:
    digitChars = ["1","2","3","4","5","6"]
    text = "Es wird gewürfelt..."  
    sleep(1)
    print(text.replace(text,"es wird gewuerfelt...",1)) 
    sleep(1)

    print(text)
    print (text)
    sleep(1)
    print(text)
    sleep(1)
    print("\n",random.choice(digitChars),"\n")
    menu = input(" Wollen Sie erneut würfeln? press y or yes:\n")
    if menu == "y" or menu == "yes":
        print("Viel Erfolg in der nächsten Runde")
    else:
        print("Sie haben sich entschieden diesen Würfel Simulator zu schließen.")
        sleep(4) 
        break


einfachTobi
User
Beiträge: 512
Registriert: Mittwoch 13. November 2019, 08:38

Das erreichst du über den Parameter `end` der Print-Funktion. Dort einfach einen Zeilenrücklauf verwenden und du landest am Anfang der Zeile, statt in der nächsten:

Code: Alles auswählen

import time
for second in range(0, 4):  
    status = "Es wird gewürfelt" + "." * second
    print (status, end="\r")
    time.sleep(1)
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Eine Zeile wie `text.replace(text,"es wird gewuerfelt...",1)` ist komisch, weil Du den kompletten Inhalt eines Strings durch einen anderen ersetzt. Dann kannst Du gleich den neuen Inhalt verwenden.
Antworten