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。
尝试创建一个非常简单的时钟作为我程序的一部分,它每 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。