-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