我正在使用Python进行小型数学检查,除了部门之外,一切运行良好。 问题:具有两位小数(2/3 = 0.67)的浮点数等于输入(0.67)。但是用于比较用户输入和结果的if语句表明它不相等。
假设:问题与浮动有关。
我的代码:
result = float(value0 / value1)
result = round(result,2)
value3 = input("Number 1")
value3 = float(value3)
if result != value3:
print "Wrong!"
print result
elif result == value:
print "Right!"
当然我可以使用不同的方法创建一个函数,但我很想知道为什么它不起作用。
如果有类似的帖子,请发布链接并关闭此链接。谢谢你的帮助。
答案 0 :(得分:1)
检查浮点数是否相等始终使用
equal_threshold = 1e-5
if abs(result-value)<equal_threshold: