这个脚本有什么问题?

时间:2014-11-11 14:16:58

标签: python numpy integer-division

我真的很困惑什么是错误的。对于第一部分,如果答案始终为0.0,则公式的分离部分均为0。 这有什么不对?

import numpy as np
def concpt(E,E0,theta):
    rad= theta*(np.pi/180)
    M=np.cos(rad)
    print(M)
    thrcondtion= 0.5*E*E0*(1-M)
    if thrcondtion>= 1:
        x=(1-(1/(E*E0*(1-M))))**0.5
        print(x)
        RESULT= (3/16)*(1-(x**2))* (((3-(x**4))*(np.log((1+x)/(1-x))))-(2*x*(2-(x**2))))
        print(RESULT)
        return RESULT
    else:
        print("invalid")

1 个答案:

答案 0 :(得分:1)

尝试:

>>> print(3/16)

在Python提示符下。

会打印

0

因为计算是使用整数完成的,因为316都是整数。你需要例如3.0 / 16在那里获得0.1875