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

如何简化这段Python循环代码?优化冗余变量与循环逻辑

代码优化方案

关于M变量的合理性

原代码中的M变量完全冗余——它的值始终是3,while M <=3的条件永远为真,实际循环终止是靠内部if k>3: break实现的,所以M完全可以移除,没有任何实际作用。

简化后的代码实现

方案1:用for循环替代while循环(最简洁)

直接遍历k从1到3的范围,不需要手动维护计数器和终止判断,符合Python的简洁风格:

s = 0
for k in range(1, 4):
    s += 1 / (2 * k) ** 2
    print(k)
    print(s)
print(s)  # 对应原代码最后额外输出的s

运行结果和原代码完全一致:

1
0.25
2
0.3125
3
0.3402777777777778
0.3402777777777778

方案2:保留while循环但移除冗余逻辑

如果一定要用while循环,去掉无用的M,直接用k的范围控制循环,同时删除多余的break判断:

s = 0
k = 1
while k <= 3:
    s += 1 / (2 * k) ** 2
    print(k)
    print(s)
    k += 1
print(s)

这个版本逻辑更清晰,行数更少,完全保留原代码的功能。

额外优化:合并输出(可选)

如果想进一步减少代码行数,可以把两次print合并(可读性略有下降):

s = 0
for k in range(1, 4):
    s += 1 / (2 * k) ** 2
    print(k, s, sep='\n')
print(s)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 09:52:35