Python不调用阶乘函数 循环实现e^x指数近似值计算
Python循环计算e^x近似值实现(无math阶乘导入)
我们可以利用泰勒展开项的递推关系来避免单独计算阶乘:展开式的第k项为 x^k/k!,第k+1项可直接由第k项推导得到:第k+1项 = 第k项 * x / (k+1),循环累加直到新增项的精度满足需求即可。
完整实现代码
def calc_e_x(x, precision=1e-8): result = 1.0 # 对应展开式第一项常量1 current_term = 1.0 # 初始存储第0项的值,后续递推更新 n = 1 while abs(current_term) > precision: current_term = current_term * x / n result += current_term n += 1 return result # 测试示例 if __name__ == "__main__": print("e^1 ≈", round(calc_e_x(1), 5)) # 输出:e^1 ≈ 2.71828 print("e^2 ≈", round(calc_e_x(2), 6)) # 输出:e^2 ≈ 7.389056
补充说明
- 可通过调整
precision参数控制计算精度,参数值越小精度越高,计算耗时也会相应增加 - 代码全程未使用math模块的阶乘函数,仅通过循环递推完成计算,输出结果和参考示例完全匹配
内容的提问来源于stack exchange,提问作者Ken
相关产品推荐
相关产品推荐

