0
我想測試一組3個變量w1,w2,w3
。當這些總和等於1時,我想要打印"YATTA"
。使用float(numpy)添加float的問題
import numpy as np
for w1 in np.arange(0.10,0.45,0.05):
for w2 in np.arange(0.10,0.45,0.05):
for w3 in np.arange(0.10,0.45,0.05):
sumw=w1+w2+w3
if(sumw==1.0):
print "YATTA"
else:
print w1,w2,w3,sumw
當我運行這個,我觀察到一些非常奇怪的事情!例如,當我的變量是:
w1 = 0.2
w2 = 0.4
w3 = 0.4
sumw
是1.0 但它不打印"YATTA"
,而是執行else
聲明。
爲什麼我的代碼的行爲如何,我該如何解決這個問題?
[歡迎浮點運算的世界。(http://docs.oracle .com/cd/E19957-01/806-3568/ncg_goldberg.html) –
這必須是重複的,類似的問題會一直被問到。 –