Python求和代码运行结果异常,找不到第三处错误求助
问题对应错误梳理
你已找到的两处错误修正方案如下:
- 代码中循环变量为
i,但求和计算时使用了未定义的变量k,将循环变量名改为k即可解决该问题 - 运算优先级错误:原式
1/2*k**2的计算逻辑是$\frac{1}{2} \times k2$,不符合求和公式要求的$\frac{1}{2k2}$,需要添加括号调整为1/(2*k**2)
你遗漏的第三处错误是循环范围不符合求和要求:
当前使用的range(M)在M=3时会生成0、1、2三个值,一是k=0会触发除零报错,二是求和公式要求k从1到M累加,因此需要将循环范围调整为range(1, M+1)。
修正后可正常运行的代码
s = 0 M = 3 for k in range(1, M+1): s += 1/(2*k**2) print(s)
内容的提问来源于stack exchange,提问作者Nicolai Aaker Menken
相关产品推荐
相关产品推荐

