<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">#!/usr/bin/python
# -*- coding: utf-8 -*-

""" Bosquejo de un programa para manipular nuemeros complejos
      Autor: Antonio Carrillo Ledesma
"""


class Complejos:
    """Definicion de la clase Complejos"""

    def __init__(self, r=0.0, i=0.0):
        """Constructor nulo 0 + 0i"""
        self.R = r
        self.I = i

    def __str__(self):
        return str(self.R) + " + " + str(self.I) + "i"

    def visualiza(self):
        """Visualiza el complejo"""
        print("{} + {}i".format(self.R, self.I))

    def __add__(self, a):
        """Suma"""
        r = self.R + a.R
        i = self.I + a.I
        return Complejos(r, i)

    def __sub__(self, a):
        """Resta"""
        r = self.R - a.R
        i = self.I - a.I
        return Complejos(r, i)


"""
Prueba de las clases
"""
if __name__ == "__main__":
    a = Complejos(1.0, 3.0)
    b = Complejos(2.0, 3.0)
    c = Complejos()

    a.visualiza()
    b.visualiza()
    c.visualiza()

    print("Suma de dos operandos")
    c = a + b
    r = str(a) + " + " + str(b) + " = " + str(c)
    print(r)

    print("Resta de dos operandos")
    c = a - b
    r = str(a) + " - " + str(b) + " = " + str(c)
    print(r)
</pre></body></html>