import machine
import utime

led_externo = machine.Pin(7, machine.Pin.OUT)
boton = machine.Pin(18, machine.Pin.IN, machine.Pin.PULL_UP)

def llenado(matx):
    i = 0
    j = 0
    k = 0
    for i in range(3):
        for j in range(3):
            print("A[",i,",",j,"]: ", end="")
            matx[k+j] = int(input())
            led_externo.toggle()
        k = k+3

def multiplicacion_escalar(matx, escalar):
    i = 0
    j = 0
    k = 0
    for i in range(3):
        for j in range(3):
            matx[k+j] = matx[k+j] * escalar
        k = k+3

def transponer(matx):
    transpuesta = [0] * 9
    for i in range(3):
        for j in range(3):
            transpuesta[j*3 + i] = matx[i*3 + j]
    return transpuesta

def determinante(matx):
    det = (matx[0] * (matx[4] * matx[8] - matx[5] * matx[7]) -
            matx[1] * (matx[3] * matx[8] - matx[5] * matx[6]) +
            matx[2] * (matx[3] * matx[7] - matx[4] * matx[6]))
    return det

def despliegue(matx):
    i = 0
    j = 0
    k = 0
    for i in range(3):
        for j in range(3):
            print(matx[k+j],"  ", end="")
        k = k+3
        print(" ")

if __name__ == '__main__':
    mata = [int() for ind0 in range(9)]
    
    # Llenado de Matriz
    llenado(mata)
    
    # Multiplicación escalar
    escalar = int(input("Ingrese el valor escalar para multiplicar la matriz: "))
    multiplicacion_escalar(mata, escalar)
    
    # Despliegue de matriz multiplicada
    print("Matriz multiplicada:")
    despliegue(mata)
    
    # Calcular la transpuesta
    transpuesta = transponer(mata)
    
    # Despliegue de la transpuesta
    print("Transpuesta de la matriz:")
    despliegue(transpuesta)
    
    # Calcular y mostrar la determinante
    det = determinante(mata)
    print("Determinante de la matriz:", det)