Skip to main content
 首页 » 编程设计

python之python中每一行和每一列的总和而不使用numpy

2025年05月04日14haluo1

我在 python 中有以下代码:

 import random 
    n=int(input("Enter the limit of your matrix:")) 
    a=[[random.random()for i in range(n)],[random.random()for j in range(n)]] 
    for i in range(0,n): 
        for j in range(0,n): 
            a[i][j]=int(input("Enter the element:")) 
    for i in range(0,n): 
        for j in range(0,n): 
            if i==j: 
                print a[i][j] 
    for i in range(0,n): 
        for j in range(0,n): 
            if i==(n-j-1) or i==(n-j+1): 
                print a[i][j] 

但是当 limit 为 3 时,这并不需要 9 个输入。 它在接受 7 个输入后显示错误。请帮助我纠正它。我不应该使用 numpy

请您参考如下方法:

创建矩阵

def createMatrix(n): 
    import random 
    return [[random.randint(1,9) for _ in range(n)] for _ in range(n)] 
 
>>> createMatrix(3) 
[[5, 3, 1], 
 [3, 6, 7], 
 [3, 2, 9]] 

对所有值求和

def sumMatrix(m): 
    return sum(sum(i) for i in m) 
 
>>> sumMatrix(a) 
39 

对特定列求和

def sumColumn(m, c): 
    return sum(i[c] for i in m) 
 
>>> sumColumn(a, 1) 
11 

对特定行求和

def sumRow(m, r): 
    return sum(m[r]) 
 
>>> sumRow(a, 0) 
9