Обновить текст для печати - PullRequest
0 голосов
/ 03 сентября 2018

Я хочу, чтобы печать обновляла дни, часы, минуты и секунды, а не записывала новое предложение с обновленными данными. Так что теперь это показывает для каждого примера: 1 тейдж, 2 штундена, 3 минуты, 40 секунд 1 tage, 2 stunden, 3 minuten, 39 секунд и так далее ...

Все, что я хочу, это обновить цифры без написания новой строки.

Я надеюсь, что вы можете мне помочь,

Вот код:

#%%Import stuff
import time
import webbrowser
import os

#%% Type in your Values
days = 0
hours = 4
mins = 0
secs = 0

#%% Functions
counter = ((days * 86400) + (hours * 3600) + (mins * 60) + secs)

def StartCounter(counter):
    if counter < 0:
        print("Error, type in a positiv counter, Idiot")
    Music(counter)
    while counter > 0:
        Darstellung(counter)
        time.sleep(1)
        counter += -1
    message = "Fertig"

    return message 

def Check():
    if StartCounter(counter) == "Fertig":
        print("Counter finished!")
        os.system("H:\Bearbeitet\Stopuhr\Song\Wecker.mp3")
    else:
        StartCounter(counter)   

def Music(counter):
    if counter >= 90:
        if counter >= 200:
            if counter >= 3600:
                if counter >= 86400:
                    webbrowser.open("spotify:user:vostry.janek:playlist:3Rxuq9vevFUYJh4fJ7T9kC")
                else:
                    webbrowser.open("H:\Bearbeitet\Stopuhr\Song\LangWarten.m4a")
            else:
                webbrowser.open("H:\Bearbeitet\Stopuhr\Song\Warten.mp3")
        else:
            webbrowser.open("H:\Bearbeitet\Stopuhr\Song\Song.mp3")
    else: 
        webbrowser.open("H:\Bearbeitet\Stopuhr\Song\Sarah.mp3")

def Darstellung(counter):
    tage = 0
    stunden = 0
    minuten = 0
    sekunden = 0
    while counter > 0:
        if counter >= 86400:
            counter += -86400
            tage += +1
        else:
            if counter >= 3600:
                counter += -3600
                stunden += +1
            else:
                if counter >= 60:
                    counter += -60
                    minuten += +1
                else:
                    counter += -1
                    sekunden += +1
    print("%s Tage, %s Stunden, %s Minuten und %s Sekunden" % (tage, stunden, minuten, sekunden), "\n")

#%% Run
Check()

1 Ответ

0 голосов
/ 03 сентября 2018

Ваша проблема может быть решена с помощью символа возврата каретки. Символ возврата каретки - \ r, или вы должны указать print не использовать \ n в качестве завершающего символа, чтобы ваш оператор печати стал

Python 3:

print(tage, " Tage, ", stunden, " Stunden, ", minuten, " Minuten und ", sekunden, " Sekunden", end="\r")

Надеюсь, это поможет!

...