給定一個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、嵌套循環矩陣,判斷並求和。
讀書和健身總有一個在路上
