1 条题解

  • 0
    @ 2026-3-26 22:17:20

    NUMPY018 题解:下三角矩阵

    题目

    给定一个整数 nn,创建 n×nn \times n 矩阵,对角线以下为 1,2,3,...,n11, 2, 3, ..., n-1


    代码

    import numpy as np
    
    n = int(input())
    Z = np.diag(1 + np.arange(n-1), k=-1)
    print(Z)
    

    代码详解

    第一步:创建 [1, 2, 3, ..., n-1]

    np.arange(n-1)  # [0, 1, 2, ..., n-2]
    1 + np.arange(n-1)  # [1, 2, 3, ..., n-1]
    

    第二步:创建对角矩阵

    np.diag([1, 2, 3, 4], k=-1)
    

    np.diag 参数说明

    np.diag(数组, k)
    
    参数 说明
    数组 对角线上的值
    k 对角线位置

    k 的取值

    k值 含义
    k=-1 主对角线下方第一条
    k=0 主对角线
    k=1 主对角线上方第一条

    其他实现方法

    方法2:循环赋值

    import numpy as np
    
    n = int(input())
    Z = np.zeros((n, n), dtype=int)
    for i in range(1, n):
        Z[i, i-1] = i
    print(Z)
    

    核心知识点

    知识点 说明
    np.arange() 创建有序数组
    np.diag() 创建对角矩阵
    k=-1 主对角线下方
    • 1

    信息

    ID
    463
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    1
    已通过
    1
    上传者