#!/usr/bin/python # -*- coding: utf-8 -*- """ Bosquejo de un programa para manipular matrices Autor: Antonio Carrillo Ledesma """ class Matriz: def __init__(self, coef): """Cosntructor de la clase""" self.Ren = len(coef) self.Col = len(coef[0]) self.M = [] # Crea la matriz for i in range(self.Ren): self.M.append([0] * self.Col) # Llena la Matriz for i in range(self.Ren): for j in range(self.Col): self.M[i][j] = coef[i][j] def __str__(self): """Visualiza la matriz""" r = "" for i in range(self.Ren): for j in range(self.Col): r += str(self.M[i][j]) + " " r += "\n" return r def visualiza(self): """Visualiza la matriz""" print(self) def __add__(self, b): """Suma""" C = [] # Crea la matriz for i in range(self.Ren): C.append([0] * self.Col) # Suma for i in range(self.Ren): for j in range(self.Col): C[i][j] = self.M[i][j] + b.M[i][j] return Matriz(C) def suma(self, a, b): """Suma""" # Suma for i in range(self.Ren): for j in range(self.Col): self.M[i][j] = a.M[i][j] + b.M[i][j] """ Prueba de las clases """ if __name__ == "__main__": a = Matriz([[1, 2, 3, 5], [4, 5, 6, 7]]) b = Matriz([[7, 7, 4, 2], [1, 5, 3, 1]]) c = Matriz([[0, 0, 0, 0], [0, 0, 0, 0]]) a.visualiza() b.visualiza() c = a + b c.visualiza() c.suma(a, b) c.visualiza() c.visualiza() a = Matriz([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]) b = Matriz([[7.0, 7.0, 4.0], [1.0, 5.0, 3.0]]) c = Matriz([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]) a.visualiza() b.visualiza() c = a + b c.visualiza() c.suma(a, b) c.visualiza() a = Matriz([[1.0 + 2.9j, 2 + 0j], [4.0 + 2.0j, 5 + 0.0j]]) b = Matriz([[7.0 + 1.0j, 7.0 + 3.4j], [1.0 + 7.0j, 5.0 + 0.0j]]) c = Matriz([[0 + 0j, 0 + 0j], [0 + 0j, 0 + 0j]]) a.visualiza() b.visualiza() c = a + b c.visualiza() c.suma(a, b) c.visualiza()