Veamos algunas otra modalidades de uso de la sentencia for en Python
En este caso, tomaremos dos listas: a y b para, luego de convertirlas en matriz, realizar varias operaciones matriciales como la suma, diferencia, el producto interno, producto matricial, la transpuesta y la inversa. El ejemplo termina con la forma de imprimir las matrices.
Observe cómo la sentencia for, no usa una variable de indice para recorrer una lista de números en range(...) sino coge elementos de un objeto sea un arreglo u otros.
Usando [File] abra nuevo archivo para ingresar el siguiente módulo y grabarlo como mat01.py
He aquí el código:
import numpy as np
a=b=c=d=e=f=[]
a=np.array([[1,2,3,4],[5,6,7,-8],[9,10,11,12],[13,14,-15,16]])
b=np.array([[6,15,14,5],[1,-5,10,9],[8,3,6,8],[14,-2,12,10]])
#a=np.array([[3,5],[1,4]])
#b=np.array([[5,2],[1,3]])
c=a+b
d=a-b
e=a*b
print("\n\nMatriz a:")
for i in a:
for j in i:
print( "%4d"%j, end=" ")
print()
print("\n\nMatriz b:")
for i in b:
for j in i:
print( "%4d"%j, end=" ")
print()
print("\n\nMatriz suma:")
for i in c:
for j in i:
print( "%4d"%j, end=" ")
print()
print("\n\nMatriz diferencia:")
for i in d:
for j in i:
print("%4d"%j, end=" "),
print()
print("\n\nMatriz producto de elementos entre sí:")
for i in e:
for j in i:
print("%4d"%j, end=" "),
print()
print("\n\n\nProducto matricial:")
g = a@b
for i in g:
for j in i:
print("%4d"%j, end=" "),
print()
ta=a.transpose()
ata=ta@a
inva = np.linalg.inv(ata)
print("\n\n\nMatriz inversa: ")
for i in inva:
for j in i:
print("%4f"%j, end=" "),
print()
print("\n\n\nMatriz unitaria: ")
u = ata@inva
for i in u:
for j in i:
print("%4f"%j, end=" "),
print()
print("\n\n\nLa suma de los elementos debe ser 4")
print(" %4d"%sum(sum(u)))
Grabe el módulo y ejecútelo después.
En este caso se trata de un código ya visto anteriormente. Lo presentamos como una aplicación del uso de la sentencia print en el manejo de un diccionario.
He aquí el código:
famCondor = [
("Ilmer","Condor","Espinoza",72,"M","Docente","USM","Matematica"),
("Yrma","Lujan","Campos",60,"F","Docente","UV","Educacion"),
("Baslavi","Condor","Lujan",32,"F","Biologa","USM","Biologia"),
("Yacole","Condor","Lujan",29,"M","Administrador","UL","Administracion"),
("Mary","Diaz","Cubas",61,"F","Docente","SCasa","Inicial"),
("Elizabeth","Cubas","Rivera",53,"F","SCasa","SCasa","SCasa")]
b=[]
c=[]
a=[]
d=[]
e=[]
f=[]
g=[]
h=[]
for i in famCondor:
a.append(i[0])
b.append(i[1])
c.append(i[2])
d.append(i[3])
e.append(i[4])
f.append(i[5])
g.append(i[6])
h.append(i[7])
print("Personal registrado en la base de datos:\n")
for i in range(len(famCondor)):
print(a[i],b[i],c[i],d[i],e[i],f[i],g[i],h[i])
print("\n\n\nInformación personal:\n")
for i in range(len(famCondor)):
print("Nombre: %10s"%a[i],"\nEdad: %12d"%d[i],"\nSexo: %12s"%e[i],"\n")
El uso de la sentencia print cuando se trata de imprimir variables de doble precisión lo veremos cuando hagamos Regresión Parte 2.