Python 数学不合算?

Python math not adding up?

尝试创建一个非常简单的时钟作为我程序的一部分,它每 0.05 秒增加 0.05 秒。它没有按我的预期工作。我的相关代码如下所示,我在 pygame window.

上显示时钟本身
clocknum = clocknum + 0.05 # these 3 lines here are contained within a while loop for the rest of my game so constantly repeating
showclock(clocknum)
time.sleep(0.05)

def showclock(clocknum):
font = pygame.font.SysFont('bahnschrift', 20)
text = font.render(str(clocknum), 1, (0, 0, 0))
screen.blit(text, (5, 700))

它没有像预期的那样以 5 的倍数上升,而是给出接近但不太准确的数字,例如:

3.349999999999999

基本上计算器并不完全准确,我想知道为什么,可能是因为我使用的数据类型?只是一个简单的整数,有更好的方法吗?感谢所有帮助

如果你正在睡觉,然后还进行一些计算,它永远不会正好睡 0.05 秒,因为在此期间它需要做一些事情。我建议你将它四舍五入到最接近的 2dp。