我百思不得其解,爲什麼在回答下面的代碼是10,而不是1人可以幫我瞭解正在發生的事情與lambdify
或什麼是創造了錯誤的錯誤答案回答?蟒蛇-sympy:lambdify返回時,函數定義分段
import sympy
from sympy.utilities.lambdify import lambdify
from sympy import Function
from sympy.abc import x, y
def kFct(xIndex,loc,k1,k2):
... if xIndex <= loc:
... return k1
... else:
... return k2
...
loc = 0.5
k1 = 1
k2 = 10
kfun = lambdify((x,y), kFct(x,loc,k1,k2))
print kfun(0,0)
>>> 10
爲什麼不是答案或1,因爲x = 0
,小於loc = 0.5
?
但是,它返回正確的答案,如果我做
print kfct(0,loc,k1,k2)
>>> 1
我需要有kfun
爲x和y的函數,因爲後來,我把它作爲一個整體的參數的一部分。它也將最終取決於y。
我在Mac 10.6.x上使用python 2.6.8。他們通過前