我有一个奇怪的问题,当我想创建两个数字的总和是两个数的偶数时,结果会丢失。我使用的是python 2.6.6。
import os
import sys
import math
for i in range(1,39):
a = -2.2 - 0.2*i
for j in range(i,39):
b = -2.2 - 0.2*j
if (a+b) % 2 == 0:
print str(a) + " : " + str(b)
我认为这个脚本应该给我想要的结果。但是,我发现有一些缺失的排列,如-3.4:-8.6。 我无法在脚本中找到我遇到此问题的原因。 请帮我解决这个问题。非常感谢你。
答案 0 :(得分:1)
作为评论中指出的deceze,内置浮点表示不能精确地表示所有十进制数,这可能会导致一些问题(如您所见)。
如果你需要数学来完全按照你期望的方式计算,我会使用十进制模块。