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

如何修改For循环,使append能添加所有m对应的函数返回值?

循环中列表仅保留单个元素的修正

你的代码存在两处问题导致结果不符合预期:

  1. 函数定义时def f(m = m):的默认参数无效,定义函数时变量m尚未存在,会触发NameError
  2. 列表初始化语句pr = []被放在for循环内部,每次循环都会重新创建一个空列表,之前添加的元素全部丢失,最终只保留最后一次循环的结果

修正后的代码

def f(m):
    return 2*m**2 + 1

pr = []
for m in range(1, 10):
    pr.append(f(m))

print(pr)

关键调整说明

  • 将pr = []移至for循环外部,确保整个循环过程中操作的是同一个列表,每次循环都向该列表追加新元素
  • 移除函数的无效默认参数,改为接收传入的m值

运行后pr会包含m从1到9对应的所有函数返回值:[3, 9, 19, 33, 51, 73, 99, 129, 163]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 18:40:33