class Moneda(): """Representa una Moneda""" def __init__(self, nombre, simbolo, factor): self.nombre = nombre self.simbolo = simbolo self.factor = factor def convert_cant_a_moneda_base(self, numero): return round(numero / self.factor, 3) def convert_monto_de_moneda_base(self, numero): return round(numero * self.factor, 3) # Se llama para mostrar objeto en patalla ej, consola def __repr__(self): return self.nombre class Dinero(object): """Representa una cantidad de dinero""" def __init__(self, monto, divisa): self.cant = monto self.moneda = divisa def monto_moneda_base(self): return self.moneda.convert_cant_a_moneda_base(self.cant) def __add__(self, cantDinero): monto = self.monto_moneda_base() + cantDinero.monto_moneda_base() monto = self.moneda.convert_monto_de_moneda_base(monto) return Dinero(monto, self.moneda) def __sub__(self, cantDinero): monto = self.monto_moneda_base() - cantDinero.monto_moneda_base() monto = self.moneda.convert_monto_de_moneda_base(monto) return Dinero(monto, self.moneda) def __mul__(self, mult): return Dinero(self.cant * mult, self.moneda) def __truediv__(self, divi): return Dinero(self.cant / divi, self.moneda) def __repr__(self): return '{} {}'.format(self.moneda.simbolo, self.cant) valorEuro = 912.35 valorDolar = 808.6 pesoDolar = 1 / valorDolar pesorEuro = 1 / valorEuro Peso = Moneda('Peso', '$', 1) Dolar = Moneda('Dolar', 'U$', pesoDolar) Euro = Moneda('Euro', '€', pesorEuro) #DosPesos = Moneda('$', 2) #CincoDolares = Moneda('U$', 5) I_Dolar = Dinero(1, Dolar) V_Dolar = Dinero(5, Dolar) X_Dolar = Dinero(10, Dolar) VX_Dolar = Dinero(50, Dolar) C_Dolar = Dinero(100, Dolar) VC_Dolar = Dinero(500, Dolar) M_Dolar = Dinero(1000, Dolar) I_Peso = Dinero(1, Peso) X_Peso = Dinero(10, Peso) VX_Peso = Dinero(50, Peso) C_Peso = Dinero(100, Peso) VC_Peso = Dinero(500, Peso) M_Peso = Dinero(1000, Peso) VM_Peso = Dinero(5000, Peso) XM_Peso = Dinero(10000, Peso) XXM_Peso = Dinero(20000, Peso) I_Euro = Dinero(1, Euro) V_Euro = Dinero(5, Euro) X_Euro = Dinero(10, Euro) VX_Euro = Dinero(50, Euro) C_Euro = Dinero(100, Euro) VC_Euro = Dinero(500, Euro) M_Euro = Dinero(1000, Euro) print(I_Dolar+I_Dolar+I_Dolar) print(X_Dolar + XM_Peso + X_Euro) print(X_Dolar-VC_Dolar) print(V_Euro - C_Peso + X_Dolar) print(C_Euro * 3) print((XXM_Peso / 40))