python计算sinx的值

利用:sin(x)=x-x^3/3!+x^5/5!-X^7/7!+,计算sinx的值,直到最后一项的绝对值小于10-5时为止。请问怎么用
python做?

import math
if __name__ == '__main__':
    x = float(input())
    y = 0
    p = 1
    t = 1
    i = 1
    while abs(math.sin(x) - y) > 0.00001:
        y += i * pow(x, p) / t
        i *= -1
        p += 2
        t *= p * (p - 1)
    print("{:.4f}".format(y))

img

有帮助的话采纳一下哦!


from math import factorial
x=int(input())
i,flag,s=1,1,0
while True:
    temp=x**i/factorial(i)
    s+=temp*flag
    flag=-flag
    if temp<10e-5:
        break
    i+=2
print(s)

x = float(input())
flag = True
sin_x = 0
n = int(1)
jj = 2
while flag:
    low = 1
    for i in range(1, n+1):
        low = low * i
    up = pow(-1,jj) * pow(x,n)
    n = n + 2
    jj = jj + 1
    kk = up / low
    if abs(kk) < 10 ** -5:
        flag = False
        break
    sin_x = sin_x+kk
print(str(round(sin_x, 6)))