diff --git a/exercises/1.txt b/exercises/1.txt new file mode 100644 index 0000000..d11aabf --- /dev/null +++ b/exercises/1.txt @@ -0,0 +1,67 @@ +#Ejercicio 1 +def listaPares(listaNumeros): + listaPares=[] + for i in listaNumeros: + if (i % 2==0): + listaPares.append(i) + return listaPares + +lista=[1,2,3,4,5,6,7,8,9,10] +#print(listaPares(lista)) + +#Ejercicio 2 +def cuadradoDiferencia(a,b): + return (a-b)*2 + +#print(cuadradoDiferencia(6,3)) + +#Ejercicio 3 + +class Piloto: + def init(self,nombre,apellido,edad,estudiosUniversitarios,pais='NA'): + self.nombre=nombre + self.apellido=apellido + self.edad=edad + self.estudiosUniversitarios=estudiosUniversitarios + self.pais=pais + + def mostrar(self): + print(self.nombre) + print(self.apellido) + print(self.edad) + print(self.estudiosUniversitarios) + print(self.pais) + + def esMayor(self): + if(self.edad>17): + return True + return False + +ejemplo_piloto=Piloto("Juan","Perez",75,False) +#ejemplo_piloto.mostrar() +#print(ejemplo_piloto.esMayor()) + +#TODO PERFECTO!!!!! ?? +class Cohete: + def init(self,modelo,piloto,combustibleTotal,consumoPorKm): + self.modelo=modelo + self.piloto=piloto + self.combustibleTotal=combustibleTotal + self.consumoPorKm=consumoPorKm + + def mostrar(self): + print(self.modelo) + # print(self.piloto) #MAL + self.piloto.mostrar() + print(self.combustibleTotal) + print(self.consumoPorKm) + + def calcularFactibilidad(self,distancia): + if(self.consumoPorKmint(distancia) None: + self.nombre=nombre + self.costo=costo + self.descuento=descuento + + @property + def precio(self): + total = self.costo - self.costo * self.descuento + total_con_iva = total * (1 + self.iva) + return round(total_con_iva, 2) + + @classmethod + def actualizar_iva(cls, __iva): + cls.iva = __iva # NO MODIFICAR - INICIO diff --git a/exercises/exercise4.py b/exercises/exercise4.py index b424db7..4e2e17e 100644 --- a/exercises/exercise4.py +++ b/exercises/exercise4.py @@ -22,6 +22,19 @@ - No utilizar properties - Utilizar Type Hints en todos los métodos y variables """ +@dataclass +class Materia: + nombre: str + +@dataclass +class Carrera: + materias: List[Materia] + + def __len__(self) -> int: + return len(self.materias) + + + # NO MODIFICAR - INICIO diff --git a/exercises/exercise5.py b/exercises/exercise5.py index 92d717c..f5e0bdb 100644 --- a/exercises/exercise5.py +++ b/exercises/exercise5.py @@ -37,10 +37,38 @@ from dataclasses import dataclass from typing import List - +class Contribuyente(ABC): + @abstractmethod + def calcular_sueldo (self): + pass + +@dataclass +class Empleado(Contribuyente): + ingreso:float + def calcular_sueldo(self): + return self.ingreso*0.83 + +@dataclass +class Monotributista(Contribuyente): + ingreso:float + def calcular_sueldo(self): + if (self.ingreso*12<370000): + sueldo=self.ingreso-2646.22 + elif (self.ingreso*12<550000 and self.ingreso*12>=370000): + sueldo=self.ingreso-2958.95 + elif (self.ingreso*12<770000 and self.ingreso*12>=550000): + sueldo=self.ingreso-3382.62 + else: + sueldo=self.ingreso-3988.85 + return sueldo def calcular_sueldos(contribuyentes: List[Contribuyente]): - """Data una lista de contribuyentes, devuelve una lista de los sueldos de - cada uno.""" + sueldos=[] + for i in contribuyentes: + sueldos.append(i.calcular_sueldo()) + return sueldos + +"""Data una lista de contribuyentes, devuelve una lista de los sueldos de +cada uno.""" # NO MODIFICAR - INICIO