You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写无函数/模块的Python程序估算数学常数e(仅用循环)

不用函数/模块,纯循环估算e的前10项和

Hey there! 作为刚入门Python的新手,想要完全不用函数或模块,只靠while或for循环来估算数学常数e的前10项和,这个需求很明确,我来给你一步步拆解实现方案~

核心思路回顾

e的估算公式是:

e = 1 + 1/1! + 1/2! + 1/3! + ...

我们需要计算前10项,也就是:1 + 1/1! + 1/2! + ... + 1/9!(初始的1是第1项,之后到1/9!是第10项)

关键技巧:不用单独计算每个阶乘(避免重复运算),而是在循环中逐步更新阶乘值——比如算完1!后,乘2就得到2!,乘3得到3!,以此类推,效率更高。


方案1:用for循环实现

这是最直观的写法,直接控制循环次数:

# 初始化e的初始值,对应公式的第一项1
e = 1.0
# 初始化阶乘变量,从1!开始
factorial = 1

# 循环9次,计算从1/1!到1/9!的9个项,加上初始的1正好10项
for i in range(1, 10):
    factorial *= i  # 逐步更新阶乘:i=1时是1!,i=2时是2!,以此类推
    e += 1 / factorial  # 将当前项的倒数加到e中

# 输出结果
print("前10项估算的e值为:", e)

方案2:用while循环实现

如果更习惯while循环的逻辑,也可以这样写:

e = 1.0
factorial = 1
count = 1  # 记录当前计算的是第几个额外项(从1!开始)

# 要凑够10项,初始的1是第1项,所以还需要计算9个项
while count < 10:
    factorial *= count
    e += 1 / factorial
    count += 1  # 计数器加1,推进到下一个阶乘

print("前10项估算的e值为:", e)

关键说明

  • 全程没有使用任何自定义函数或第三方模块(print是Python内置的输出工具,不属于限制范围)
  • 阶乘采用逐步累积的方式,避免了重复计算,比每次重新计算阶乘更高效
  • 严格控制了10项的数量:初始的1是第1项,后续循环计算9个项,总和正好是10项

内容的提问来源于stack exchange,提问作者Ugur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:06:02