Ejercicio: 2Eva_IIT2018_T1 Hielo y especies en Ártico-Archivo
Usando el archivo proporcionado en el ejemplo: ‘artico2009-2019.txt‘
se crea la función y programa de prueba con las instrucciones más básicas y simples:
# CCPG1001-Fundamentos de programación FIEC-ESPOL # 2Eva_IIT2018_T1 Hielo y especies en Ártico-Archivo # ----- NUMERAL 1 ----- def crearMatriz(narchivo): archivo = open(narchivo,'r') # dimensiones de matriz linea = archivo.readline() n = int(linea.strip('\n')) linea = archivo.readline() m = int(linea.strip('\n')) # se crean las matrices mhielo09 = np.zeros(shape=(n,m),dtype=int) mhielo19 = np.zeros(shape=(n,m),dtype=int) manimales09 = np.zeros(shape=(n,m),dtype=int) manimales19 = np.zeros(shape=(n,m),dtype=int) # linea encabezados, No procesada linea = archivo.readline() # linea datos linea = archivo.readline() while not(linea==''): linea = linea.strip('\n') partes = linea.split(',') anio = partes[0] fila = int(partes[1]) columna = int(partes[2]) hielo = int(partes[3]) animal = int(partes[4]) if (anio =='2009'): mhielo09[fila,columna] = hielo manimales09[fila,columna] = animal if (anio =='2019'): mhielo19[fila,columna] = hielo manimales19[fila,columna] = animal linea = archivo.readline() archivo.close() matrices = [mhielo09, mhielo19, manimales09, manimales19] return(matrices) # PROGRAMA DE PRUEBA # INGRESO narchivo = 'artico2009-2019.txt' # PROCEDIMIENTO # ----- NUMERAL 1 ----- matrices = crearMatriz(narchivo) mhielo09 = matrices[0] mhielo19 = matrices[1] manimales09 = matrices[2] manimales19 = matrices[3] # SALIDA print(' ----- NUMERAL 1 ----- ') print('hielo 2009') print(mhielo09) print('hielo 2019') print(mhielo19) print('animales 2009') print(manimales09) print('animales 2019') print(manimales19)
para obtener:
----- NUMERAL 1 ----- hielo 2009 [[1 0 0 1] [0 1 1 1] [1 0 1 0] [1 1 1 0] [0 1 0 1] [1 1 1 0]] hielo 2019 [[1 0 0 1] [0 1 0 1] [1 0 1 0] [1 0 1 0] [0 1 0 1] [0 0 1 0]] animales 2009 [[ 1 2 4 4] [ 2 5 5 3] [ 1 3 9 1] [ 1 1 4 2] [ 4 22 4 7] [ 1 1 4 0]] animales 2019 [[ 3 2 4 1] [ 0 11 3 5] [ 1 0 67 1] [ 2 22 3 2] [13 13 2 3] [ 3 0 1 0]]