擅长:python、mysql、java
<p>假设这是一个无穷级数,您可以创建一个生成器,通过每次递增<em>n</em>,使给定的<em>x</em>提供下一个求值</p>
<pre><code>from math import factorial, pow
def sin_gen(x):
n = 0
while True:
result = (pow(-1, n) * pow(x, (2 * n + 1))) / factorial(2 * n + 1)
yield result
n += 1
</code></pre>
<p>现在您只需要对每个评估求和,直到总数达到您想要的值</p>
<pre><code>g = sin_gen(x)
total = 0
for val in g:
if abs(val) < 1.0e-7:
break
total += val
print(total)
</code></pre>