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

如何不使用NumPy获取两个矩阵的输入并实现矩阵乘法运算

无需NumPy的矩阵输入与乘法实现

矩阵输入方法

要获取和示例中结构一致的嵌套列表式矩阵,可按以下步骤手动输入:

  1. 先输入矩阵的行数和列数,用空格分隔(比如输入3 3表示3行3列的矩阵)
  2. 逐行输入每行的元素,用空格分隔,程序会自动将每行转为整数列表,最终组合成完整矩阵

完整代码示例

def get_matrix():
    # 获取矩阵的行数和列数
    rows, cols = map(int, input("请输入矩阵的行数和列数(空格分隔):").split())
    matrix = []
    print(f"请输入{rows}行,每行{cols}个元素(空格分隔):")
    for _ in range(rows):
        # 读取每行元素并转为整数列表
        row = list(map(int, input().split()))
        # 校验每行元素数量是否符合要求
        while len(row) != cols:
            print(f"输入错误!每行需要{cols}个元素,请重新输入:")
            row = list(map(int, input().split()))
        matrix.append(row)
    return matrix

# 获取两个矩阵输入
X = get_matrix()
Y = get_matrix()

# 检查矩阵是否满足相乘条件(X的列数需等于Y的行数)
if len(X[0]) != len(Y):
    print("错误:第一个矩阵的列数必须等于第二个矩阵的行数才能相乘!")
else:
    # 初始化结果矩阵
    result = [[0 for _ in range(len(Y[0]))] for _ in range(len(X))]

    # 执行矩阵乘法
    for i in range(len(X)):
        for j in range(len(Y[0])):
            for k in range(len(Y)):
                result[i][j] += X[i][k] * Y[k][j]

    # 输出结果
    print("矩阵相乘结果:")
    for r in result:
        print(r)

使用说明

  • 运行程序后,按提示依次输入第一个矩阵(如示例中的3x3矩阵X)和第二个矩阵(示例中的3x4矩阵Y)
  • 程序会自动校验输入格式,确保每行元素数量正确,同时检查矩阵是否满足相乘条件
  • 最终输出和示例逻辑一致的乘法结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 09:27:27