Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- general = [] #DEFINIR ARRAYS MATRIZ GENERAL
- p_cuadrante = [] #DEFINIR ARRAYS PRIMER CUADRANTE
- s_cuadrante = [] #DEFINIR ARRAYS SEGUNDO CUADRANTE
- t_cuadrante = [] #DEFINIR ARRAYS TERCERO CUADRANTE
- c_cuadrante = [] #DEFINIR ARRAYS CUARTO CUADRANTE
- c = 0 #COLUMNAS
- f = 0 #FILAS
- par = 1
- imp = 1
- print("----- Creador de matriz -----")
- while (par == 1):
- f = int(input("Numero de filas: "))
- par = f%2 #MODULO PARA SABER SI ES PAR (SI DA0 ES PAR EJ: 2/2 RECIDUO: 0)
- if (par==1):
- print("Error: Solo numeros PARES") #SI EL RECIDULO DA 1 ERROR
- while (imp == 1):
- c = int(input("Numero de columnas: "))
- imp = c%2 #MODULO PARA SABER SI ES PAR (SI DA0 ES PAR EJ: 2/2 RECIDUO: 0)
- if (imp==1):
- print("Error: Solo numeros PARES") #SI EL RECIDULO DA 1 ERROR
- def generar_matriz(): #FUNCION PARA GENERAR MATRIZ
- for i in range (f):
- general.append([0]*c) #MULTIPLICO F VECES EL NUMERO PARA GENERAR U CASILLAS
- for j in range(c):
- general[i][j] = random.randrange(10) #GENERA NUMERO ALEATOREO PARA RELLENAR
- def imprimir_matriz():
- for i in range (c):
- print(general[i], "\n") #IMPRIME POR FILAS
- def primer_cuadrante():
- fc1 = f//2
- cc1 = c//2
- for i in range(fc1):
- p_cuadrante.append([0]*fc1)
- for j in range(cc1):
- p_cuadrante[i][j] = general[i][fc1+j] #SE AGREGA NORAML PERO EN GENERAL SE MUEVE LA CASILLA POR COLUMNA YA QUE SE MUEVE A UN LADO
- return p_cuadrante[:]
- def segundo_cuadrante():
- fc1 = f//2 #DIVICION ENTERA PARA OBTENER LA MITAD
- cc1 = c//2 #DIVICION ENTERA PARA OBTENER LA MITAD
- for i in range(fc1):
- s_cuadrante.append([0]*fc1) #SE CREA LA FILA F VECES EN LA LISTA "p_cuadrante"
- for j in range(cc1):
- s_cuadrante[i][j] = general[i][j] #SE AGREGA LOS VALORES DE LA MATRIZ GENERAL A p_cuadrante
- return s_cuadrante
- def tercer_cuadrante():
- fc1 = f//2
- cc1 = c//2
- for i in range(fc1):
- t_cuadrante.append([0]*fc1)
- for j in range(cc1):
- t_cuadrante[i][j] = general[cc1+i][j] #SE AGREGA NORAML PERO EN GENERAL SE MUEVE LA CASILLA POR FILA YA QUE SE MUEVE HACIA ABAJO
- return t_cuadrante
- def cuarto_cuadrante():
- fc1 = f//2
- cc1 = c//2
- for i in range(fc1):
- c_cuadrante.append([0]*fc1)
- for j in range(cc1):
- c_cuadrante[i][j] = general[cc1+i][fc1+j] #SE AGREGA NORAML PERO EN GENERAL SE MUEVE LA CASILLA POR FILA YA QUE SE MUEVE HACIA ABAJO Y SE MUEVE CASILLA A EL LADO
- return c_cuadrante
- generar_matriz() #SE LLAMAN LAS FUNCIONES
- imprimir_matriz() #SE LLAMAN LAS FUNCIONES
- primer_cuadrante() #SE LLAMAN LAS FUNCIONES
- segundo_cuadrante() #SE LLAMAN LAS FUNCIONES
- tercer_cuadrante() #SE LLAMAN LAS FUNCIONES
- cuarto_cuadrante() #SE LLAMAN LAS FUNCIONES
- cu = 100
- #si elije 1 cuadrante--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- while (cu != 0):
- print("Escriba '0' para cerrar el programa")
- cu = int(input("Que cuadrante desea mover: "))
- if(cu == 1):
- m = int(input("Mover a: "))
- if (cu == m):
- print("Error: No se pude cambiar a el mismo")
- if(m == 1):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[i][j] = s_cuadrante[i][j]
- general[i][cc1 + j] = p_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
- elif (m==3):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[i][cc1 + j] = t_cuadrante[i][j]
- general[fc1 + i][j] = p_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
- elif (m ==4):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[i][cc1 + j] = c_cuadrante[i][j]
- general[fc1 + i][cc1 + j] = p_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
- #si elije 2 cuadrante--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- elif (cu == 2):
- m = int(input("Mover a: "))
- if (cu == m):
- print("Error: No se pude cambiar a el mismo")
- if(m == 2):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[i][j] = s_cuadrante[i][j]
- general[i][cc1 + j] = p_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
- elif (m==3):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[i][j] = t_cuadrante[i][j]
- general[fc1 + i][j] = s_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
- elif (m ==4):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[i][j] = c_cuadrante[i][j]
- general[fc1 + i][cc1 + j] = s_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
- #si elije 3 cuadrante--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- elif (cu == 3):
- m = int(input("A que cuadrante desea mover: "))
- if (cu == m):
- print("Error: No se pude cambiar a el mismo")
- if(m == 1):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[i][j] = t_cuadrante[i][j]
- general[fc1 + i][j] = p_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
- elif (m==2):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[i][cc1 + j] = t_cuadrante[i][j]
- general[fc1 + i][j] = s_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
- elif (m ==4):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[fc1 + i][j] = c_cuadrante[i][j]
- general[fc1 + i][cc1 + j] = t_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
- #si elije 4 cuadrante--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- elif (cu == 4):
- m = int(input("A que cuadrante desea mover: "))
- if (cu == m):
- print("Error: No se pude cambiar a el mismo")
- if(m == 1):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[i][j] = c_cuadrante[i][j]
- general[fc1 + i][cc1 + j] = p_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
- elif (m==2):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[i][cc1 + j] = c_cuadrante[i][j]
- general[fc1 + i][cc1 + j] = s_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
- elif (m ==3):
- fc1 = f//2
- cc1 = c//2
- for i in range (fc1):
- for j in range (cc1):
- general[fc1 + i][j] = c_cuadrante[i][j]
- general[fc1 + i][cc1 + j] = t_cuadrante[i][j]
- for i in range (c):
- print(general[i], "\n")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement