计算e的python代码如下:
e = 1
n = 1
f = 1
while f>=10**-6:
# 计算阶乘
factorial = 1
for i in range(1, n + 1):
factorial *= i
f = 1.0/factorial
# 累加e的值
e = e + f
n += 1
print("底数 e 的值为:", e)
运行结果:
在程序中,我们使用变量 factorial 来计算阶乘,使用变量 e 来记录 taylor 公式的值。然后使用 for 循环计算 n 项,将每一项的结果加到 e 中即可。
运行程序后,输入项数,即可计算出底数 e 的近似值。
def compute_e(n):
e = 1
factorial = 1
for i in range(1, n+1):
factorial *= i
e += 1 / factorial
return e
n = int(input("请输入计算 taylor 公式的项数:"))
e = compute_e(n)
print("底数 e 的值为:", e)
def compute_e():
# 上次计算的e值
last_e = 0
# 本次计算的e值
cur_e = 1
# 差值 10的-6次方,1.0e-6是Python科学计数的表示
diff = 1.0e-6
n = 1
# 表示1/n!
factorial = 1
while abs(cur_e - last_e) > diff:
factorial /= n
# 更新last_e
last_e = cur_e
# 计算新值
cur_e += factorial
# 每次循环n逐增1
n += 1
return cur_e
print("底数 e 的值为:", compute_e())
相应的n越大e的值就越接近题目中所给的值,试着改小diff,diff = 1.0e-8
,看看测试结果