输入n*n个数字,每个数字用空格隔开,将输出由这n*n个数字组成的n*n维数组的每列元素和,每行元素和,对角线元素和的最大值
import math
a = list(map(int, input().split()))
n = int(math.sqrt(len(a)))
aa = []
for i in range(0, len(a), n):
aa.append(a[i:i+n])
# 空列表用来装每一行列对角线元素之和
# print(aa)
su = []
# 计算每一排的和加到列表里面去
for i in range(n):
s = 0
for j in range(n):
s += aa[i][j]
su.append(s)
# 计算每一列之和
for ii in range(n):
ss = 0
for jj in range(n):
ss += aa[jj][ii]
su.append(ss)
# 计算左上到右下
s_ = 0
for iii in range(n):
s_ += aa[iii][iii]
su.append(s_)
# 计算右上到左下
s_ = 0
m = 0
for iiii in range(n-1, -1, -1):
s_ += aa[m][iiii]
m += 1
su.append(s_)
del s_
max_ = 0
for ma in su:
if ma > max_:
max_ = ma
print(max_)