下面是一种简单的实现方法:def saddle_point(matrix): n = len(matrix) for i in range(n): row_max = max(matrix[i]) col_min = min([matrix[j][i] for j in range(n)]) if row_max == col_min: return (i, matrix[i].index(row_max)) return Nonen = int(input("请输入矩阵的维度:"))matrix = []for i in range(n): row = list(map(int, input("请输入矩阵第{}行的元素,用空格分隔:".format(i+1)).split())) matrix.append(row)result = saddle_point(matrix)if result: print("鞍点在矩阵的第{}行,第{}列".format(result[0]+1, result[1]+1))else: print("矩阵没有鞍点")
在这个代码中,我们首先定义了一个`saddle_point`函数,该函数接收一个二维列表`matrix`作为参数。函数使用两个嵌套的循环遍历矩阵的每个元素。对于每个元素,我们找到其所在行的最大值和所在列的最小值,并判断两者是否相等。如果相等,则返回该位置的坐标`(i, j)`。
然后,我们从用户输入获取矩阵的维度`n`,以及矩阵的元素。将用户输入的每一行作为一个列表,并将这些列表组成一个二维列表`matrix`。
最后,我们调用`saddle_point`函数,并根据返回的结果进行输出。如果有鞍点,则输出鞍点的坐标;否则,输出矩阵没有鞍点。
以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。 |