|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# -*- coding: utf-8 -*-
'''
函数代码请只在 "
##########start 下面可以改动
##########end 上面可以改动 "
中间部分作答,作答行数自由调整
题目:已知一个3*3矩阵A,A的元素依次为1-9的平方
|1^2 2^2 3^2|
A=|4^2 5^2 6^2|,求该矩阵主对角线元素之和。
|7^2 8^2 9^2|
程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
'''
def TEST_DO_NOT_CHANGE():
rlt_sum=0
A = [[1**2, 2**2, 3**2],
[4**2, 5**2, 6**2],
[7**2, 8**2, 9**2],
]
##########start下面可以改动
##########end 上面可以改动 "
return rlt_sum
if __name__ == "__main__":
print (TEST_DO_NOT_CHANGE())
#######下面可以添加测试语句
有没有简单的函数 我是新手 不会二维数组计算
当然可以简化,针对这个特定问题,我们可以直接计算主对角线元素之和,而不需要使用双重循环。
请参考以下代码:
# -*- coding: utf-8 -*-
def diagonal_sum():
A = [
[1 ** 2, 2 ** 2, 3 ** 2],
[4 ** 2, 5 ** 2, 6 ** 2],
[7 ** 2, 8 ** 2, 9 ** 2]
]
# 只需计算主对角线元素之和
rlt_sum = A[0][0] + A[1][1] + A[2][2]
return rlt_sum
if __name__ == "__main__":
print(diagonal_sum())
这里我们直接计算了主对角线上的元素之和,而无需使用嵌套循环。这样的代码对于新手来说更易理解。
|
|