0
這個函數應該返回36,但它返回0。如果我通過邏輯線通過在交互模式下,我得到36代碼在全局範圍內工作,但不在本地範圍內工作?
代碼
from math import *
line = ((2, 5), (4, -1))
point = (6, 11)
def cross(line, point):
#reference: http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=geometry1
ab = ac = [None, None]
ab[0] = line[1][0] - line[0][0]
ab[1] = line[1][1] - line[0][1]
print ab
ac[0] = point[0] - line[0][0]
ac[1] = point[1] - line[0][1]
print ac
step1 = ab[0] * ac[1]
print step1
step2 = ab[1] * ac[0]
print step2
step3 = step1 - step2
print step3
return float(value)
cross(line, point)
輸出
[2, -6] # ab
[4, 6] #ac
24 #step 1 (Should be 12)
24 #step 2 (Should be -24)
0 #step 3 (Should be 36)
根據線運行到交互模式,這應該是步驟1,步驟2和步驟3的結果。
>>> ab = [2, -6]
>>> ac = [4, 6]
>>> step1 = ab[0] * ac[1]
>>> step1
12
>>> step2 = ab[1] * ac[0]
>>> step2
-24
>>> step3 = step1 - step2
>>> step3
36
(這將是偉大的,如果有人可以給這個好標題)
什麼是價值的價值? :) – WhatIsHeDoing 2009-04-12 22:00:11
這將是`NameError:全球名稱'值'未定義' – epochwolf 2009-04-12 22:04:43