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

如何根据输入的数值n生成元素连续递增的n阶二维数组

n×n连续递增二维矩阵实现方案

现有代码问题说明

  • 第一段代码错误:预先初始化了A×A的全0二维矩阵后,循环中直接调用append()往矩阵末尾追加元素,没有对矩阵对应位置的元素赋值,最终会得到结构混乱的列表,完全不符合二维矩阵要求。
  • 第二段代码错误:内层、外层循环使用了同名变量i,导致外层循环的i被内层覆盖,每一行的生成逻辑都只用到了内层的i,最终所有行都是相同的[1,2,3]。

正确实现方案

方案1:列表推导式实现(简洁写法)

核心逻辑:第i行(索引从0开始)的起始值为i*A,每行的第j个元素(索引从0开始)为i*A + j + 1,即可实现数值连续递增:

# A为输入的正整数
A = 3
matrix = [[i * A + j + 1 for j in range(A)] for i in range(A)]
print(matrix)

运行输出:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

方案2:普通循环实现(易读写法)

对应第一段代码的修正版,直接给二维矩阵的对应位置赋值:

# A为输入的正整数
A = 3
matrix = [[0]*A for _ in range(A)]
for i in range(A):
    for j in range(A):
        matrix[i][j] = i * A + j + 1
print(matrix)

两种方案对任意正整数输入A都适用,完全满足需求:

  • 输入A=1,输出[[1]]
  • 输入A=2,输出[[1, 2], [3, 4]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:36:03