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

《The Coder's Apprentice》习题8.3:Gregory-Leibnitz级数求π代码正确性咨询

代码正确性验证结论

你的更新后代码完全正确,完全符合题目要求的Gregory-Leibnitz级数计算π近似值的逻辑。

验证依据

  1. 逻辑匹配:
  • 你设置的计数器c从1开始,奇数项加正的奇数分母倒数、偶数项加负的奇数分母倒数,刚好对应级数1/1 − 1/3 + 1/5 − 1/7 + ...的符号规则
  • 分母i每次加2,严格取1、3、5、7...的奇数序列
  • 循环执行n次,刚好计算括号内的n项,最后乘以4得到近似π值,和题目要求完全一致
  1. 小样本测试验证:
  • 当n=1时,输出为4.0,符合预期
  • 当n=2时,输出为4*(1-1/3) ≈ 2.6666666666666665,符合预期
  • 当n=3时,输出为4*(1-1/3+1/5) ≈ 3.466666666666667,符合预期

可选优化建议(不影响正确性,仅简化代码)

你当前代码中if和elif分支里的i=i+2、c=c+1是重复逻辑,可以提取到分支外,简化后的代码和原逻辑完全等效:

def leibnitz(n):
    tot = 0
    i = 1
    c = 1
    for _ in range(n): 
        if c % 2 != 0: 
            tot += 1.0/i
        else:
            tot -= 1.0/i
        i += 2
        c += 1
    return tot * 4

print(leibnitz(98))

你和标准答案的差异仅为实现细节不同,功能完全符合要求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:21:02