【问题标题】:i need help creating a function of add two matrices and return the sum matrix我需要帮助创建一个将两个矩阵相加并返回求和矩阵的函数
【发布时间】:2022-11-23 01:48:07
【问题描述】:

下面的代码至少对我来说看起来没有错误。但是我没有得到我想要的输出,但是如果我不使用该函数并直接使用 sasme 语法添加它们中的两个,我会得到正确的答案。请帮助

a = [[1,1],[2,2]] #第一个矩阵 b = [[4,4],[3,3]] #第二个矩阵

#创建一个函数来添加到两个矩阵并返回总和 定义总和(m,n): o = [[0,0],[0,0]] 对于我在范围内(2): 对于范围 (2) 中的 j: o[i][j] = m[i][j] + n[i][j] 回车

ans =总和(a,b) 打印(ans)

this is giving the following answer output:

[[5, 0], [0, 0]]

where as the output should be :
[[5, 5], [5, 5]]

【问题讨论】:

    标签: python list function matrix return


    【解决方案1】:

    你能确保 return 语句在两个 for 循环之外给出吗?

    好像你已经在 j 的 for 循环中给出了 return 语句,所以它只计算一个总和并返回

    def sum(m,n): 
    o = [[0,0],[0,0]] 
    for i in range(2): 
        for j in range(2): 
            o[i][j] = m[i][j] + n[i][j] 
    return o
    

    return 应该这样给出,然后它会给出

    [[5, 5], [5, 5]]

    【讨论】:

      【解决方案2】:

      您可以使用模块 numpy 将矩阵相加。

      首先使用安装模块 “pip 安装 numpy” 窗户或 “pip3 安装 numpy” 对于 Linux。然后,在您的代码中运行

      import numpy
      numpy.add(list1, list2)
      

      【讨论】:

        【解决方案3】:

        您可以使用列表理解:

        def sum_matrices(a, b):
            return [[a[i][j] + b[i][j] for j in range(len(a[i]))] for i in range(len(a))]
        

        或者你可以使用 numpy:

        import numpy as np
        
        def sum_matrices(a, b):
            return np.add(a, b).tolist()
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-11
          • 1970-01-01
          • 2023-03-09
          • 2017-06-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多