Python 代码实现 1-1/3+1/5-1/7... 序列求和
epsilon = 10 ** -6
result = 0
sign = 1
term = 1
i = 1
while abs(term) >= epsilon:
result += sign * term
i += 1
sign *= -1
term = 1 / (2 * i - 1)
print('{:.6f}'.format(result))
该代码使用 Python 实现计算 1-1/3+1/5-1/7... 序列的和,直到某一项的绝对值小于 10 的 -6 次幂为止。
代码解释:
epsilon定义了收敛条件,即当某一项的绝对值小于 10 的 -6 次幂时,循环停止。result用于存储计算结果。sign用于控制符号位,初始值为 1,代表正号,每次循环乘以 -1,实现正负交替。term用于存储当前项的值。i用于计数,每次循环加 1。while循环,当term的绝对值大于或等于epsilon时,循环继续执行。- 循环体内:
result加上当前项的值term,符号由sign控制。i加 1,进行下一项的计算。sign乘以 -1,改变符号位。term计算下一项的值,为 1 除以 (2 * i - 1)。
print('{:.6f}'.format(result))打印结果,保留 6 位小数。
运行结果:
运行该代码,输出结果为 0.785398,即满足条件下的多项分式的和,保留 6 位小数。
原文地址: https://www.cveoy.top/t/topic/WPw 著作权归作者所有。请勿转载和采集!