#power series of sine function
def main():
M=float(input('M: ')) #angle in degree
X=pi_value()*M/180 #angle in radian
print(sine(X))
#factorial function
def fac(N):
if N==0:
Num=1
else:
Num=1
for i in range(1,N+1):
Num*=(i)
i+=1
return Num
#pi function
def pi_value():
pivalue=3.141592653589793
return pivalue
def sine(X):
k=0
sine=0
term=((-1)**k*X**(2*k+1))/fac(2*k+1)
while abs(sine)<1*10**(-8):
sine+=term
k+=1
term=((-1)**k*X**(2*k+1))/fac(2*k+1)
return sine
main()
Я работаю над этим расширением силовой линии силовой функции на python. По некоторым причинам этот код не работает. Я бы очень признателен, если кто-то может дать мне несколько указателей. Спасибо (p.s. Я не должен использовать какие-либо функции math lib)power series function of sine in python
Это то, что я получаю в качестве выхода, когда я вводим угол M = 30 градусов.
M: 30
0.5235987755982988
, когда я должен получить что-то около .5
M: 60
1.0471975511965976
и угол 60 градусов, выход совершенно неправильно.
Вне темы: вы можете использовать 'math.pi' вместо функции, которая возвращает неточное значение :-) EDIT: хорошо, не видел последней круглой скобки. Но хорошо, это значение не реальная функция ...: - ' –
Вы должны опубликовать то, что ожидаете, и то, что вы получаете – philshem