【问题标题】:Update the print text更新打印文本
【发布时间】:2019-02-08 09:15:11
【问题描述】:

我希望打印更新天、小时、分钟和秒,而不是用更新的数据写一个新句子。所以现在它显示了每个示例: 1 tage, 2 stunden, 3 minuten, 40 sekunden 1 tage, 2 stunden, 3 minuten, 39 sekunden 等等……

我只想更新数字,而不用写新行。

希望你能帮助我,

代码如下:

#%%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()

【问题讨论】:

  • 您似乎在使用与 Python 不同的范式进行编程。你来自什么语言?
  • 我来自奥地利,之前用 C# 编程过

标签: python printing stopwatch


【解决方案1】:

您的问题可以通过使用回车符来解决。回车符是 \r 或者你必须告诉 print 不要使用 \n 作为结束字符,这样你的 print 语句就会变成

Python 3:

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

希望有帮助!

【讨论】:

  • 我试过了,但输出是:0 Stunden, 0 Minuten und 11 Sekunden0 Tage, 0 Stunden, 0 Minuten 和 10 Sekunden0 Tage, 0 Stunden, 0 Minuten 和 9 Sekunden0 Tage, 0 Stunden, 0 Minuten und 8 Sekunden0 Tage, 0 Stunden, 0 Minuten 和 7 Sekunden0 Tage, 0 Stunden, 0 Minuten 和 6 Sekunden0 Tage, 0 Stunden, 0 Minuten und 5 Sekunden0 Tage, 0 Stunden, 0 Minuten 和 4 Sekunden0 Tage, 0 Stunden, 0 Minuten und 3 Sekunden0 Tage, 0 Stunden, 0 Minuten 和 2 Sekunden0 Tage, 0 Stunden, 0 Minuten 和 1 SekundenCounter 完成!
  • 你运行的是python 2还是python 3?
  • 它在 Python 3.6 中运行
  • 这很奇怪,因为我可以在 python 3 和 3.6 上运行它并获得所需的输出。
  • 请运行 print(sys.version_info) 并给我们输出。您必须先导入 sys。
猜你喜欢
  • 2014-03-31
  • 1970-01-01
  • 2020-08-08
  • 1970-01-01
  • 2021-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多