99 lines
2.5 KiB
Python
99 lines
2.5 KiB
Python
|
|
||
|
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))
|