求n*n矩阵对角线之和

【问题描述】n和矩阵数值均通过键盘输入,使用input0函数是不能有任何参数。
【输出形式】使用print函数在屏幕上输出,第1行数据代表列表,第2行数据为矩阵对角线之和,比如:[[1,2,3],[4,5,6],[7,8,9]]

img


这样为什么不对

def diagsum(n,A):
    '''
    n代表矩阵的行数
    A代表的时一个n*n的整数矩阵
    '''
    if n==1:
        sum=A[0]
    else:
        sum1=0
        sum2=0
        for i in range(n):
            sum1=sum1+A[i][i]
            sum2=sum2+A[i][n-1-i]
        sum=sum1+sum2
        if n%2 != 0:
            sum=sum-A[int((n-1)/2)][int((n-1)/2)]
    return sum
 
n=3
A=[[1,2,3],[4,5,6],[7,8,9]]
sum=diagsum(n,A)
print(sum)
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^