我正在尝试制作一个简单的计时器,它每秒打印剩余时间。
for k in range(100):
print(100-k)
t.sleep(1)
#output
#100
#99
#98
#...
#1
但是,这将花费比 100 秒稍长的时间,因为使用 print() 时会增加延迟。对于很长一段时间,这有点明显。有没有办法解决这个问题,并准确地显示每秒的时间?我知道我可以sleep(100)
,但这不会打印剩余时间。
最佳答案
import time
start_time=time.time()
for k in range(25):
print(25-k)
time.sleep(1)
print("it took "+str(float(time.time()-start_time)*1000)+" Milliseconds")
打印的输出是:它花了 26412.75382041931 毫秒
没有打印的输出:花费了 25053.035020828247 毫秒
本来应该只有 25000 毫秒,但事实并非如此
打印需要时间,甚至阅读代码也需要时间 重点是不要期望 time.sleep() 能够准确计时!!!
关于python - 在 python 中使用 sleep 制作一个计时器。如何考虑计算时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43957823/