请编写一个程序迭代求解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))