Apuntes_Python/01_curso/Modulo_3/3-1d_actividad_CantDinero.py
2022-12-24 22:41:20 -03:00

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))