大佬帮我看看我的程序错在哪里,求幸运数
#对于输入的任意一个矩阵,如果某一个元素的值在同一行的所有元素中最小,##并且在同一列的所有元素中最大,那么该元素便是幸运数字。#
m=input('请输入矩阵的行数:')
n=input('请输入矩阵的列数:')
m=int(m)
n=int(n)
matrix=[]
Min=[]
Max=[]
for i in range(m):
matrix.append([])
for j in range(n):
print('第',i+1,'行第',j+1,'列是')
x=input('')
x=int(x)
matrix.append(x)
print(matrix)
for i in range(m):
for j in range(n):
Min.append(min,Min])
Max.append(max,Max])
for i in range(m):
for j in range(n):
if matrix == Min and matrix == Max:
print(matrix)
问题没找出来,我看不懂min,Min] 这段程序表达的含义
不过按你出题的逻辑改了一段同样功能的
m=input('请输入矩阵的行数:')
n=input('请输入矩阵的列数:')
m=int(m)
n=int(n)
matrix=[]
Min=[]
Max=[]
for i in range(m):
matrix.append([])
for j in range(n):
print('第',i+1,'行第',j+1,'列是')
x=input('')
x=int(x)
matrix.append(x)
print(matrix)
for i in range(m):
for j in range(n):
Min.append(matrix) #将所有数字添加到Min列表
temp = Min.index(min(Min)) #计算Min列表中最小的数字所在的对应序号
while True: #得出最小值所在的列数
if temp - n > 0:
temp = temp -n
if temp - n < 0:
temp = temp
break
print(temp)
for i in range(m):
for j in range(n):
Max.append(matrix)#将最小值所在列数的数字添加到Max列表
temp_1 = max(Max) #求出列表中最大值
print(temp_1)
zowen 发表于 2022-4-23 01:27
问题没找出来,我看不懂min,Min] 这段程序表达的含义
不过按你出题的逻辑改了一段同样功能的
...
不过这么写有个BUG 受限于返回列表最小值 他只能返回相同最小值第一次出现的列数
例如
【3 8 6】
【6 3 6】
【6 6 3】
每一行的最小值都是3
但是 所对应的3个列里面 最大值是8
不过第一次出现3是在第一列
所以 计算出的最大值限定在了第一列的 6 并不是实际的最大值
页:
[1]