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

如何用for循环和while循环填充np.zeros全零矩阵为A(x,y)=x+y?

前置初始化

你写的A = np.zeros(m,m)存在参数错误:np.zeros()的第一个参数为数组形状,需要传入元组类型,正确初始化代码如下:

import numpy as np
m = 6
# 指定dtype=int生成整数型数组,避免默认浮点数带来的`.0`后缀
A = np.zeros((m, m), dtype=int)
for循环实现方案

通过两层for循环分别遍历行、列索引,逐位置按规则赋值即可:

for x in range(m):
    for y in range(m):
        A[x, y] = x + y

逻辑说明:

  • 外层for x in range(m)会依次取0到5的所有行序号
  • 内层循环遍历当前行下0到5的所有列序号,直接给A[x,y]赋值为x与y的和
while循环实现方案

while循环需要手动维护索引计数器,注意:不要遗漏索引自增逻辑,否则会陷入无限循环,实现代码如下:

# 初始化行索引起始值
x = 0
while x < m:
    # 每进入新的一行,重置列索引起始值为0
    y = 0
    while y < m:
        A[x, y] = x + y
        # 列索引自增,移动到当前行下一列
        y += 1
    # 当前行所有列遍历完成,行索引自增,移动到下一行
    x += 1
结果验证

两种循环执行后得到的数组完全一致,执行print(A)可得到如下输出,完全符合A(x,y)=x+y的规则:

[[ 0  1  2  3  4  5]
 [ 1  2  3  4  5  6]
 [ 2  3  4  5  6  7]
 [ 3  4  5  6  7  8]
 [ 4  5  6  7  8  9]
 [ 5  6  7  8  9 10]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 19:56:48