马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 镜花丿水月 于 2022-1-19 10:31 编辑
问题如图片所示
我自己写的代码和老师给的答案不太一样。。。。不知道自己的有没有错误,想请大家帮忙看一下谢谢!matrix = [[10, 36, 52],
[33, 24, 88],
[66, 76, 99]]
row = len(matrix)
col = len(matrix[0])
matrix_pre = [0] * col
#为放原列表的每列的值做一个元素全为0的列表
for k in range(col):
matrix_pre[k] = [0] * row
row_min = [0] * row
col_max = [0] * col
#将matrix列表中的每行最小的值归纳起来放到row_min中
for i in range(row):
row_min[i] = min(matrix[i])
#将matrix列表中的每列的值归纳起来放到matrix_pre中
for j in range(col):
for i in range(row):
matrix_pre[j][i] = matrix[i][j]
#将matrix列表中的每列的最大值归纳起来放到col_max中
for i in range(len(matrix_pre)):
col_max[i] = max(matrix_pre[i])
#生成一个判断选项
mark = 'NO'
for a in row_min:
for b in col_max:
#如果matrix列表中每行最小的值和每列最大的值中有相等的情况
if a == b:
#打印幸运数字并且将判断选项的值变为'OK'
print('幸运数字为',a)
mark = 'OK'
break
#当判断选项的值为'OK'时,跳出整个循环(因为幸运数字是通过二维的最的交叉来特定的,所以有一个幸运数字即可)
if mark == 'OK':
break
#如果没有找到幸运数字,判断选项的值就保持为'NO'
if mark == 'NO':
print('该列表中没有幸运数字')
|