我正在尝试通过100,000次迭代来近似常数e,并展示其中当迭代次数i为10,000的倍数时的结果,范围从10,000到100,000。
我目前的代码是这样的:
import math
e = 0
i = 0
while i < 100001:
e += 1 / (math.factorial(i))
i += 1
if i % 10000 == 0:
print("使用", i, "次迭代的近似值为:", e)
这段代码存在两个问题:
1.) 代码运行时间非常长,但我想这可能是预料之中的。
2.) 不管我使用多少次迭代,得到的e的近似值都是一样的。输出的开始部分如下所示:
使用10000次迭代的近似值为:2.7182818284590455
使用20000次迭代的近似值为:2.7182818284590455
使用30000次迭代的近似值为:2.7182818284590455
...以此类推。我该如何修正这个问题?
作为背景,这是一个初级编程问题,仅涉及循环结构的学习。
编辑:我注意到我在while循环中将i和e的操作顺序颠倒了。虽然已经修正了这个错误,但仍然遇到计算结果不变的问题。