Python如何实现倒计时效果?
PHPz
PHPz 2017-04-17 15:03:58
0
1
417

我在尝试写个命令行的fm,但是碰到播放时间的适合遇到了问题,如何实现一个计时器,每次自减1秒后覆盖之前的print 输出
我想把歌曲总时间传入如下代码,封装个函数,但是如何覆盖上一次print的结果呢?

def remain(min)
    count = 0
    while (count < min):
        count += 1
        n = min - count
        time.sleep(1)
        print n   
PHPz
PHPz

学习是最好的投资!

全部回覆(1)
伊谢尔伦

先科普下,"r" 表示遊標回到行首(參考自ascii編碼表)。利用它就能達到覆蓋字元的效果,但前提是別換行(消滅n)。
來吧~ 看吾主的神蹟。

pythonline = "============================="
print(line + "\r" + line, end='');print("\r" + line + "\r" + line)

再補充個進度條demo

pythonimport time
lineLength = 20
delaySeconds = 0.05
frontSymbol = '='
frontSymbol2 = ['—', '\', '|', '/']
backSymbol  = ' '

for i in range(10):
    lineTmpla = "{:%s<%s} {} {:<2}"%(backSymbol, lineLength)
    for j in range(lineLength):
        tmpSymbol = frontSymbol2[j%(len(frontSymbol2))]
        print("\r" + lineTmpla.format(frontSymbol * j, tmpSymbol, j), end='')
        time.sleep(delaySeconds)
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!