2014-11-11 2 views
-2

Я действительно смущен, что именно неправильно. для первой части, если ответ всегда равен 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") 
+0

Некоторая контекстная информация была бы очень полезной. Опишите, что должен делать этот сценарий и каковы ожидаемые результаты. Также некоторые примеры ввода также помогут. –

ответ

1

Try:

>>> print(3/16) 

в приглашении Python.

Это напечатает

0 

Поскольку расчет производится с использованием целых чисел, так как 3 и 16 являются целыми числами. Вам нужно, например, 3.0/16 там, чтобы получить 0.1875.