5.10

python作业
• 所花时间:4
• 代码行数:156
• 博客容量:1
• 代码如下:

def func(matrix):
    saddle_points = []  # 用于存储找到的鞍点信息

    # 遍历矩阵的每一行
    for i, row in enumerate(matrix):
        max_in_row = max(row)  # 当前行的最大值
        max_indices = [j for j, value in enumerate(row) if value == max_in_row]  # 最大值的索引

        # 检查每个最大值所在的列
        for j in max_indices:
            col = [matrix[k][j] for k in range(len(matrix))]  # 提取当前列
            if matrix[i][j] == min(col):  # 如果当前值是所在列的最小值,则是鞍点
                saddle_points.append([i + 1, j + 1, matrix[i][j]])

    return saddle_points

def main():
    # 获取用户输入的矩阵
    matrix = []
    print("请输入5行5列整数矩阵:")
    for _ in range(5):
        row = list(map(int, input().split()))
        matrix.append(row)

    # 查找鞍点
    saddle_points = func(matrix)

    # 输出鞍点信息
    for point in saddle_points:
        print(f"[{point[0]},{point[1]},{point[2]}]", end="")

if __name__ == "__main__":
    main()





posted @ 2024-05-10 14:57  aallofitisst  阅读(10)  评论(0)    收藏  举报