程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python实现3×3矩阵主对角线元素求和

hfteth 2025-03-26 12:31:21 技术文章 28 ℃


任务要求

求一个3*3矩阵主对角线元素之和,并将结果在控制台打印输出。

任务实现

方法一:基础循环法

def main_diagonal_sum(matrix):
total = 0
for i in range(3):
for j in range(3):
if i == j: # 主对角线条件判断
total += matrix[i][j]
return total
#测试矩阵
matrix = [
[
1.5, 2, 3],
[
4, 5, 6],
[
7, 8, 9.5]
]
print(f"主对角线之和: {main_diagonal_sum(matrix)}")

说明:

  • 通过双重循环遍历矩阵每个元素
  • 当行号i等于列号j时累加元素值
  • 兼容整数与浮点数混合计算

方法二:列表推导式法

def diagonal_sum_short(matrix):
return sum(matrix[i][i] for i in range(3))
#测试矩阵
matrix = [
[
1.5, 2, 3],
[
4, 5, 6],
[
7, 8, 9.5]
]
print(f"主对角线之和: {diagonal_sum_short(matrix)}")

说明:

  • 利用生成器表达式直接提取主对角线元素
  • 单行代码实现核心功能,可读性更优

方法三:Numpy库函数法

import numpy as np
def numpy_diagonal_sum(matrix):
np_matrix = np.array(matrix)
return np_matrix.trace()
#测试矩阵
matrix = [
[
1.5, 2, 3],
[
4, 5, 6],
[
7, 8, 9.5]
]
print(f"主对角线之和: {numpy_diagonal_sum(matrix)}")

说明:

  • 将列表矩阵转换为Numpy数组
  • 调用trace()方法直接获取主对角线之和
  • 适用于大型矩阵的高效计算

运行结果

主对角线之和: 16.0

进程已结束,退出代码为 0

Tags:

最近发表
标签列表