【发布时间】:2014-08-02 07:34:44
【问题描述】:
当提示输入矩阵中的行数,然后提示输入这些行的元素时,我需要找到该矩阵中最大的元素并返回其位置(行和列)。
例如,如果我输入 2 行如下:
[1 3 7] [4 8 1]
最大元素的位置是 (1, 1),表示行索引 1 和列索引 1。
我有以下代码,它可以用来获取位置:
def main():
matrix = []
numRows = eval(input("Enter the number of rows in the list: "))
for i in range(numRows):
rows = input("Enter a row: ")
items = rows.split()
list = [eval(x) for x in items]
matrix.append(list)
return locateLargest(matrix)
def locateLargest(a):
for i in range(len(a)):
indexOfMaxRow = 0
maxRow = max(a[i])
for row in range(len(a)):
if max(a[row]) > maxRow:
maxRow = max(a[row])
indexOfMaxRow = row
for j in range(len(a)):
indexOfMaxColumn = 0
maxColumn = max(a[j])
for column in range(len(a)):
if max(a[column]) > maxColumn:
maxColumn = max(a[column])
indexOfMaxColumn = column
print("The location of the largest element is at (", indexOfMaxRow, ", ", indexOfMaxColumn, ")")
main()
我认为我的代码在def locateLargest(a) 下是错误的,因为在打印结果之前一切正常。谁能告诉它有什么问题?提前感谢您的任何意见!
【问题讨论】: