3 回答

TA貢獻(xiàn)1859條經(jīng)驗 獲得超6個贊
當(dāng)你這樣做時for i in range(n),i會在循環(huán)的每次迭代中自行增加。你不需要增加它。
以下是遍歷矩陣的方法:
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貢獻(xiàn)1796條經(jīng)驗 獲得超4個贊
您可以嘗試以下步驟:
假設(shè)矩陣的第一個元素是具有最大值的元素,即 [0,0] 位置處的元素執(zhí)行以下操作,將位置存儲在兩個變量中(例如row=0,col=0)和max中的值
現(xiàn)在,像往常一樣遍歷矩陣,并在每次迭代時檢查當(dāng)前元素(位置 [i,j])是否大于存儲在max中的元素,如果是,則將max的值替換為當(dāng)前元素 vList itemalue使用row和col,如果沒有,則繼續(xù)下一次迭代。
返回row和col。

TA貢獻(xiàn)1906條經(jīng)驗 獲得超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)
我使用了對內(nèi)部列表進(jìn)行排序,然后從中訪問最大元素的概念。對這個新生成的列表進(jìn)行另一種排序,以獲得最大的元素。希望以上代碼對您有所幫助。使用 numpy 以多維格式打印列表。
添加回答
舉報