3 回答
TA贡献1859条经验 获得超6个赞
当你这样做时for i in range(n),i会在循环的每次迭代中自行增加。你不需要增加它。
以下是遍历矩阵的方法:
n = len(matrix)
for i in range(n):
for j in range(n):
print('position ({}, {}) in matrix: {}'.format(i, j, n[i][j]))
因此,要找到最大值的位置,您可以跟踪迄今为止看到的最大值以及该值的位置,如下所示:
n = len(matrix)
max_value = float('-inf')
max_position = None
for i in range(n):
for j in range(n):
value = n[i][j]
if value > max_value:
max_value = value
max_position = (i, j)
print('max value is {} at position ({}, {})'.format(
max_value,
max_position[0],
max_position[1]
))
TA贡献1796条经验 获得超4个赞
您可以尝试以下步骤:
假设矩阵的第一个元素是具有最大值的元素,即 [0,0] 位置处的元素执行以下操作,将位置存储在两个变量中(例如row=0,col=0)和max中的值
现在,像往常一样遍历矩阵,并在每次迭代时检查当前元素(位置 [i,j])是否大于存储在max中的元素,如果是,则将max的值替换为当前元素 vList itemalue使用row和col,如果没有,则继续下一次迭代。
返回row和col。
TA贡献1906条经验 获得超10个赞
import numpy as np
print("enter the dimensions")
m = int(input())
n = int(input())
print("enter the elements of the matrix")
list1 = []
for i in range(m):
list2 = []
for j in range(n):
list2.append(int(input()))
list1.append(list2)
print(np.asarray(list1))
max_elements = []
for i in range(m):
list1[i].sort()
max_element = list1[i][n-1]
max_elements.append(max_element)
max_elements.sort()
the_max_element = max_elements[m-1]
print(the_max_element)
我使用了对内部列表进行排序,然后从中访问最大元素的概念。对这个新生成的列表进行另一种排序,以获得最大的元素。希望以上代码对您有所帮助。使用 numpy 以多维格式打印列表。
添加回答
举报
