From ea94c17694b2a89606156959b097ff62d836a50c Mon Sep 17 00:00:00 2001 From: JN_CASA Date: Wed, 5 Oct 2022 23:08:37 -0300 Subject: [PATCH 1/2] Agrega practica3 Nicolas Casa com3 g2 TN --- exercises/exercise1.py | 28 ++++++++++++++++++++++++++++ exercises/exercise2.py | 27 ++++++++++++++++++++++++++- exercises/exercise3.py | 19 ++++++++++++++++++- exercises/exercise4.py | 13 +++++++++++++ 4 files changed, 85 insertions(+), 2 deletions(-) diff --git a/exercises/exercise1.py b/exercises/exercise1.py index 4d88ccc..d1c36d6 100644 --- a/exercises/exercise1.py +++ b/exercises/exercise1.py @@ -1,6 +1,8 @@ """Variables de Instancia y Métodos de instancia.""" + from math import pi +from msilib.schema import RadioButton class Circle: @@ -20,6 +22,32 @@ class Circle: # NO MODIFICAR - INICIO + +class Circle(): + def __init__(self,radio): + + self.radio=radio + + + def area(self): + if self.radio!=0: + return(round((self.radio**2)*3.14,2)) + else: + return ('No se puede instanciar sin radio') + + def perimetro(self): + if self.radio!=0: + return (round(2*3.14*self.radio,2)) + else: + return('No se puede instanciar sin radio') + + +"""A= Circle(5,3) +A.calc_area +A.calc_circ""" + + + # Test básico circle = Circle(1) assert circle.radio == 1 diff --git a/exercises/exercise2.py b/exercises/exercise2.py index 2b02c90..5052e8b 100644 --- a/exercises/exercise2.py +++ b/exercises/exercise2.py @@ -20,9 +20,34 @@ class Article: - No utilizar Properties - Utilizar Type Hints en todos los métodos y variables """ + +# NO MODIFICAR - INICIO +class Article(): + __iva = float(0.21) + + + def __init__(self,nombre,costo,descuento=0): + self.nombre = nombre + self.costo = costo + self.descuento = descuento + + + @classmethod + def actualizar_iva(cls,nuevoIva): + cls.__iva = nuevoIva + #metodo de innstancia + def calcular_precio(self): + precio_iva = round(self.costo + (self.costo * self.__iva),2) + precio_tot = round(precio_iva - precio_iva * self.descuento,2) + return precio_tot + + + def mostrar(self): + print(self.nombre) + #imprimir el costo + -# NO MODIFICAR - INICIO # Test parámetro obligatorio try: article = Article() diff --git a/exercises/exercise3.py b/exercises/exercise3.py index 331440a..7514120 100644 --- a/exercises/exercise3.py +++ b/exercises/exercise3.py @@ -12,11 +12,28 @@ class Article: - Utilizar 1 método de clase - No utilizar métodos de instancia - No utilizar Dataclasses - - Utilizar Type Hints en todos los métodos y variables + - Utilizar Type Hints en todos los métodos y variables''' """ # NO MODIFICAR - INICIO + __iva = 0.21 + + def __init__(self, nombre, costo, descuento=0): + self.nombre = nombre + self.costo = costo + self.descuento = descuento + + @property + def precio(self): + precio_iva = self.costo + (self.costo*self.__iva) + precio_desc = precio_iva - (precio_iva*self.descuento) + precio_desc = round(precio_desc, 2) + return precio_desc + + @classmethod + def actualizar_iva(cls, iva): + cls.__iva = iva # Test parámetro obligatorio try: article = Article() diff --git a/exercises/exercise4.py b/exercises/exercise4.py index b424db7..17915b1 100644 --- a/exercises/exercise4.py +++ b/exercises/exercise4.py @@ -25,6 +25,19 @@ # NO MODIFICAR - INICIO +@dataclass +class Carrera: + longitud:list + + def __len__(self): + return len(self.longitud) + + def __str__(self): + return f"Carrera(materias={self.longitud})" + +@dataclass +class Materia: + nombre:str # Test parámetro obligatorio try: materia = Materia() From 3a6d4f4e7fee845f756d530d5fd1dfb7cf46ba30 Mon Sep 17 00:00:00 2001 From: JN_CASA Date: Wed, 5 Oct 2022 23:28:53 -0300 Subject: [PATCH 2/2] Agrega practica3 Nicolas Casa com3 g2 TN --- exercises/exercise3.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercises/exercise3.py b/exercises/exercise3.py index 7514120..ab96de5 100644 --- a/exercises/exercise3.py +++ b/exercises/exercise3.py @@ -9,7 +9,7 @@ class Article: - Utilizar 3 variables de instancia - Utilizar 1 property - Utilizar 1 variable de clase - - Utilizar 1 método de clase + - Utilizar 1 método de clase - No utilizar métodos de instancia - No utilizar Dataclasses - Utilizar Type Hints en todos los métodos y variables'''