Сделал не через numpy, как смог:
from random import random
matrix = [[random() for j in range(5)] for i in range(7)]
print('Матрица: \n', str(matrix)[1:-1].replace('], ', '\n').replace('[', '').replace(']', '').replace(',',' '), sep='')
print('Минимальное значение =>', max(max(matrix[i]) for i in range(7)))
print('Максимальное значение =>', min(min(matrix[i]) for i in range(7)))
min_mass = []
for g in matrix:
min_mass += [min(g)]
print('Минимальные значения каждой строки пред. матрицы =>', min_mass)
Но хотя бы работает
пояснение:
26*10*10 - количество вариантов без условия "одновременно не равных 5)
тк на первом месте может стоять любая из 26 букв, на втором любая из 10 цифр, на третьем аналогично
далее вычитаем 26 вариантов: каждый вариант соответствует одной из 26 букв, когда две цифры равны 5