给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。

输入格式:

输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。

输出格式:

在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。

代码如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

n = int(input())

a=list()
for i in range(n):
    s1 = list()
    s=input().split()
    for j in s:
        s1.append(int(j))

    a.append(s1)
sum = 0
for i in range(n):
    for j in range(n):
        if i!=n-1 and j!=n-1 and i+j!=n-1:
            sum += a[i][j]

print(sum)

这个代码不难,主要是最后的判断,要明白最后一列和最后一行还有斜对角线和序列长度的关系。

补充:如果是正对角线的话,就是i和j相等。

程序分析:

1、定义一个列表s1,用来存放一行中输入的数据。

2、在外部定义一个列表a,将一行中的数据以一个单位存放在a中。

3、嵌套循环矩阵,判断并求和。

 

读书和健身总有一个在路上

本文版权归作者和博客共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。