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) –
这必须是重复的,类似的问题会一直被问到。 –