Coverage for src\stack.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-05-03 22:23 -0500

1from typing import Any 

2 

3 

4class Stack: 

5 

6 def __init__(self): 

7 """Inicializa una pila vacia.""" 

8 self.items = [] 

9 

10 def push(self, data: Any) -> None: 

11 """Añade un elemento a la parte superior de la pila.""" 

12 self.items.append(data) 

13 

14 def pop(self) -> Any: 

15 """Elimina y devuelve el elemento en la parte superior de la pila.""" 

16 if self.is_empty(): 

17 raise IndexError("La pila esta vacia") 

18 return self.items.pop() 

19 

20 def peek(self) -> Any: 

21 """Devuelve el elemento en la parte superior de la pila sin eliminarlo.""" 

22 if self.is_empty(): 

23 raise IndexError("La pila esta vacia") 

24 return self.items[-1] 

25 

26 def is_empty(self) -> bool: 

27 """Devuelve True si la pila esta vacia, False si no lo esta.""" 

28 return len(self.items) == 0