import time
def countdown(duration):
while duration > 0:
mins, seconds = divmod(duration, 60)
timer = '{:02d}:{:02d}'.format(mins, seconds)
print(timer, end='\r')
time.sleep(1)
duration -= 1
print("Time's up!")
countdown(int(input(": ")))我想在python上做一个定时器,并学习如何制作一个计时器。我理解一切是如何工作的,但由于某种原因,当我运行代码时,计时器根本没有出现。在光标闪烁多长时间让计时器运行后,它会打印"Time's up“提示符,而不会显示计时器。等待的时间是正确的,所以计时器工作,它只是没有出现。
发布于 2020-11-04 12:22:50
您在评论中说,您正在PyCharm上运行代码。这就是问题所在。您的代码在Linux和Windows中成功运行;我刚刚尝试过。但是,在PyCharm中,它不显示任何输出。这取决于PyCharm处理回车返回("\r")的方式。更多信息,这里,这是为YouTrack,但也适用于PyCharm。
解决这一问题的方法有两种:
print(timer, end='\r')行更改为print(f'\r{timer}', end='') (移动回车返回打印开始,并从打印中移除换行符)https://stackoverflow.com/questions/64679460
复制相似问题