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

编写生成M个长度为N的正态分布样本的rangNM函数遇语法错误求原因

代码错误原因及修复方案

错误点梳理

  • 第2行iseed == 0:==是相等判断运算符,此处需要给iseed赋初始值,应改为赋值运算符=。
  • 第4行for iseed < M:Python的for循环仅支持遍历可迭代对象,不能直接跟条件判断语句,此处需要按条件循环应改用while关键字,或是直接基于range(M)实现for循环遍历。
  • 额外补充:你的代码中调用了np开头的numpy方法,需要先导入numpy库,否则运行会报名称错误。

修复后可运行代码

方案1:保留原有逻辑修改

import numpy as np

def rangNM(N, M):
    iseed = 0
    sample = []
    while iseed < M:
       np.random.seed(iseed)
       sample.append(np.random.normal(scale=1, loc=0, size=N))
       iseed += 1
    return sample

rangNM(10, 5)

方案2:更简洁的for循环实现(无需手动维护计数变量)

import numpy as np

def rangNM(N, M):
    sample = []
    for iseed in range(M):
       np.random.seed(iseed)
       sample.append(np.random.normal(scale=1, loc=0, size=N))
    return sample

rangNM(10, 5)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:27:02