编写一个返回矩阵尺寸的函数

时间:2014-05-09 06:38:07

标签: python matrix

如果我们看到m_1矩阵,我可以找到矩阵维,但如果我有像m_2矩阵这样的东西,我就无法检查它。我哪里错了?

  def matrixDimensions(m):
    test = []
    y = len(m)
    for x in m:
        len(x)
        test.append(len(x))
        if test[1:] != test[:-1]:
            return "This is not a valid matrix."
        else:
            return 'This is a %dx%u matrix.' % (y,len(x))

    m_1 = [ [1, 3, 2], [-5, 6, 0] ]
    matrixDimensions(m_1)

    m_2 = [ [1, 3], [-5, 6, 0] ]
    matrixDimensions(m_2)

2 个答案:

答案 0 :(得分:0)

这里最重要的是m_2不是一个有效的矩阵。

您还在代码中做了一些不寻常的事情,例如将test [1:]与test [: - 1]进行比较。这不是比较两个值,而是两个列表。我不认为这是你的意思。

我也不确定你为什么要回信,但这又是另一天的问题。

def matrixDimensions(m):
    for i in range(1,len(m)):
       if len(m[i]!=len(m[i-1]): return "This is not a valid matrix"
    return "This is a %u x %u matrix" % (len(m),len(m[0]))

m_1 = [ [1, 3, 2], [-5, 6, 0] ]
matrixDimensions(m_1)

m_2 = [ [1, 3], [-5, 6, 0] ]
matrixDimensions(m_2)

答案 1 :(得分:0)

def matrixDimensions(m):
    test = len(m[0])
    y = len(m)
    for x in m:
        if test!=len(x):
            print "This is not a valid matrix."
            return
    print 'This is a %dx%u matrix.' % (y,len(m[0]))

m_1 = [ [1, 3, 2], [-5, 6, 0] ]
matrixDimensions(m_1)

m_2 = [ [1, 3], [-5, 6, 0] ]
matrixDimensions(m_2)