条件里面的条件,python

时间:2014-02-11 11:51:43

标签: python function numpy conditional-statements

我正在尝试在Python中的函数内部使用某些条件。

我的代码是

def fitfunc(r200,c):
    x = dist[:20]*c/r200
    A = 2*delta_c_l*rho_0_2[:20]
    a1 = A*(r200/c)/(x**2-1)
    a2 = 2/(np.sqrt(1-x**2))
    a3 = np.arctanh(np.sqrt((1-x)/(1+x)))
    a4 = 2/(np.sqrt(x**2-1))
    a5 = np.arctan(np.sqrt((x-1)/(x+1)))
    if x<1:
        return a1*(1-(a2*a3))
    elif x>1:
        return a1*(1-(a4*a5))

此处rho_0_2已有一些值。

dist [:20]是一个数组

array([ 0. , 0.09317335, 0.1863467 , 0.27952006, 0.37269341, 0.46586676, 0.55904011, 0.65221346, 0.74538682, 0.83856017, 0.93173352, 1.02490687, 1.11808022, 1.21125357, 1.30442693, 1.39760028, 1.49077363, 1.58394698, 1.67712033, 1.77029369])

当我执行fitfunc()时,我无法获得执行x>1x<1的条件。我在这做错了什么?

1 个答案:

答案 0 :(得分:1)

如果fitfunc()返回None,那么x完全是1,且两种条件都不正确。