对于我的作业,我必须检查计算值是否在0.05到0.5之间。要做到这一点,我认为从一个减去另一个,采取绝对值,并检查是否小于或等于0.05应该做的把戏。但是当我尝试这段代码时。你知道吗
x = abs(0.5 - 0.55)
if x <= 0.05:
print 'x is', x, 'x = yes'
else:
print 'x is', x, 'x = no'
y = abs(0.4 - 0.45)
if y <= 0.05:
print 'y is', y, 'y = yes'
else:
print 'y is', y, 'y = no'
返回一个非常奇怪的输出。你知道吗
x is 0.05 x = no
y is 0.05 y = yes
其中y被视为0.05,而x不被视为0.05,但是根据python,这两个值都等于0.05。 我做错什么了吗?你知道吗
我会这样使用十进制:
输出:
那你的测试就可以了。你知道吗
默认情况下,它生成长浮点值
试试这是:-
这就是浮动的行为。Most programming languages are like this.通常在比较浮点值时,更安全的做法是检查值是否在允许的错误范围内,而不是检查是否相等:
Python3.5添加了相关的^{} 。你知道吗
相关问题 更多 >
编程相关推荐