-2
我在使用Python的小型数学检查器上工作,除了部门之外,一切工作都很顺利。 问题:具有两位小数(2/3 = 0.67)的商,float,等于输入(0.67)。但是,我用来比较用户输入和结果的if语句表明它不相同。Python:商数不等于一个具有相同值的变量
假设:问题与float有关。
我的代码:
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!"
当然我可以创建一个不同的方法的功能,但我好奇地理解为什么这是行不通的。
如果有类似的线索,请发布链接并关闭此链接。谢谢你的帮助。
但2/3不等于0.67。 – kindall
我建议使用'decimal'模块来代替。 https://docs.python.org/3/library/decimal.html#decimal.Decimal –
Rick:感谢您的链接。 kindall:我指2/3小数点后两位小数的四舍五入结果。所以我知道0.666666 ...(或2/3)和0.67之间有区别。 – canguru