Ejercicio: 2Eva2018TII_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]]