这是我的任务,在我的一生中,我似乎想不出办法去做。这是我到目前为止的代码:
sum = 0
k = 1
while k <= 0.0001:
if k % 2 == 1:
sum = sum + 1.0/k
else:
sum = sum - 1.0/k
k = k + 1
print()
这是我的任务:
创建一个名为 sumseries.py 的 python 程序,它执行以下操作: 在程序的顶部放置注释,其中包含您的姓名、日期和程序功能的描述。
编写一个程序来计算和显示级数的总和:
1 - 1⁄2 + 1⁄3 - 1⁄4 + …
直到达到小于 0.0001 的项。
10,000 次迭代的答案似乎是 0.6930971830599583
我用 1,000,000,000(十亿)次迭代运行该程序并得出数字 0.6931471810606472。我需要创建一个循环来以编程方式创建系列。
原文由 Jamie Schwiderski 发布,翻译遵循 CC BY-SA 4.0 许可协议
实际上,你可以写得更短:
这段代码的作用:
1.0 / k if k % 2 else -1.0 / k
results in1.0 / k
ifk
is odd and-1.0 / k
otherwise (a - b
is the same asa + (-b)
)for k in range(1, 10001)
遍历所有k
范围从1(包括)到10001(排除)sum
可以计算任何序列(准确地说是任何 可迭代 的)的总和,无论是列表、元组还是生成器表达式没有生成器表达式也一样: