请编写一个程序迭代求解sin(x),迭代公式为sin(x)=x/1-x^3!+x^5/5!-x^7/7!+...+(-1)^(2n-1)/(2n-1)!,当n项的值小于10^-5时结束,x为弧度。要求输入x的值,输出相应的结果。
【注意】迭代公式中的^代表幂运算。并且输入和输出各占一行,输出结果保留4位小数;运行效果如下所示。
【运行结果】
输入(一行):
1.57
输出(一行):
1.0000
一、代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
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))