def matrix_print(matrix):
    print('_______')
    for i in matrix:
        for el in i:
            print(el, end=' ')
        print()

matrix_2x2 = [[1, 2],
              [3, 4]]

matrix_3x2 = [[32, 232],
              [543, 134],
              [565, 665]]

matrix_2x3 = [[1, 2, 3],
              [4, 5, 6]]

def matrix_metric(matrix):
    m = 0
    n = 0
    for rows in matrix:
        m += 1
        for elements in rows:
            if elements > len(rows):
                break
            else:
                n+=1
    metric = (m,n)
    return metric

def transpose_matrix(matrix):
    metric = matrix_metric(matrix)
    transposed=[]
    for i in range(metric[1]):
        column = []
        transposed.append(column)

    for i in range(metric[0]):
        for c in range(len(transposed)):
            transposed[c].append(matrix[i][c])
    return transposed

def minor_matrix_i(matrix,m1,n1):

    result = [row[:] for row in matrix]
    for m in range(len(result)):
        result[m].pop(n1)
    result.pop(m1)
    m_sum= 0
    return result


def minor_matrix_ii(matrix):
    minorred_matrix = [[] for i in range(matrix_metric(matrix)[0])]
    m_sum = 0
    for i in minorred_matrix:
        m_sum += 1
    #print(m_sum)
    for i in range(len(matrix)):
        for b in range(len(matrix[i])):
            #print(i,b)
            minorred_matrix[i].append(det_matrix_ii(minor_matrix_i(matrix,i,b))*algebraic_add(matrix)[i][b])


    return minorred_matrix




def det_matrix(matrix):

    main_new= 1
    rev_new= 1
    mat_main = matrix
    mat_rev = matrix[::-1]

    for i in range(len(mat_main)):
        main_new *= mat_main[i][i]
        rev_new *= mat_rev[i][i]

    det = (main_new - rev_new)
    return det


def det_matrix_ii(matrix):
    m_sum = 0
    for i in matrix:
        m_sum += 1
    #print('сумма элементов',m_sum)
    determ_num = 0
    for n in range(len(matrix)):

        if m_sum == 2:
            determ_num += matrix[0][n] * (minor_matrix_i(matrix,0,n))[0][0] * algebraic_add(matrix)[0][n]
        #    print(matrix[0][n],'*',(minor_matrix_i(matrix,0,n))[0][0],'*',algebraic_add(matrix)[0][n])
        """else:
            minor_sum = 0
            for i in minor_matrix_i(matrix,0,n):
                minor_sum += 1
            print('сумма минорв',minor_sum)
            while minor_sum != 2:
                det_matrix_ii(minor_matrix_i(matrix, 0, n))"""
        if m_sum == 3:
            determ_num += matrix[0][n] * det_matrix_ii(minor_matrix_i(matrix, 0, n)) * algebraic_add(matrix)[0][n]
        #    print(matrix[0][n], '*', det_matrix_ii(minor_matrix_i(matrix, 0, n)), '*', algebraic_add(matrix)[0][n])
    return determ_num




def algebraic_add(matrix):
    algebraic_added= [[ ((-1)**(2+m+n)) for n in range (matrix_metric(matrix)[0])] for m in range (matrix_metric(matrix)[0]) ]
    return algebraic_added
сделай с нуля оболочку tkinter для всего этого кода, где будут поля для ввода значений матрицы и кнопки "транспонировать", "найти определитель", "показать алгебраические дополнения", "миноры матрицы". При нажатии которых будет на консоль выводится результаты преобразований матрицы. Всего можно считать либо матрицы 2 порядка либо матрицы 3 порядка. Переделай код, если в нем есть баги и недоработки, особенно придумай как сделать чтобы находился минор матрицы второго порядка и корректно выводился