Ejercicio: 3Eva_IIT2015_T3 funciones matrices rotar, extraer
Propuesta de solución en Python
Tarea: Integrar con tema 4
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 3Eva_IIT2015_T3 funciones matrices rotar, extraer # propuesta: edelros@espol.edu.ec # version con lazos y condicionales. # tarea: simplificar lazos con 'for' import numpy as np # Tema 3 a) def rotando(matriz,k): #cuenta rotaciones cuenta = 0 while not(cuenta>=k): n,m = matriz.shape tabla = numpy.zeros(shape=(m,n),dtype=int) # inicia rotación i = 0 while not(i>=n): j = 0 while not(j>=m): f = j c = (n-1)-i tabla[f,c] = matriz[i,j] j = j + 1 i = i + 1 matriz = np.copy(tabla) cuenta = cuenta + 1 return(matriz) # Tema 3 b) funcion para extraer una esquina # de tamaño t de una matriz # k=0 ;esquina superior izquierda # k=1 ;esquina superior derecha # k=3 ;esquina inferior izquierda # k=2 ;esquina inferior derecha def extraeresquina(matriz,k,t): n,m = matriz.shape esquina = np.zeros(shape=(t,t), dtype=int) i = 0 while not(i>=t): j = 0 while not(j>=t): if (k==0): f = i c = j if (k==1): f = i c = (m-t)+j if (k==2): f = (n-t)+i c = (m-t)+j if (k==3): f = (n-t)+i c = j esquina[i,j]=matriz[f,c] j = j+1 i = i+1 return(esquina)