【发布时间】:2011-09-12 13:49:41
【问题描述】:
我有这个代码:
def fit(self,p1,p2,w):
p=p1
m=self.bit(p,w)
if p1.y!=p2.y:
if m&0x30:
p.y=w.y1 if m&0x10 else w.y2-1
try:
p.x=int((p.y-p2.y)*(p1.x-p2.x)/(p1.y-p2.y)+p2.x)
except Exception,e:
print e
print p1.y!=p2.y
print p1.y,p2.y
输出是:
cannot convert float NaN to integer
False
199 199.0
我不知道为什么 p1.y!=p2.y 评估为 true,然后在异常中评估为 false
我正在运行 python 2.6.6
【问题讨论】:
-
因为你在这里更改了
p1.y(通过p.y)?p.y=w.y1 if m&0x10 else w.y2-1 -
感谢 Amber,完全错过了:|
标签: python divide-by-zero