我在 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
