-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathiterador_EvenNumbers.py
More file actions
35 lines (28 loc) · 884 Bytes
/
iterador_EvenNumbers.py
File metadata and controls
35 lines (28 loc) · 884 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# iterador_EvenNumbers.py
class EvenNumbers:
"""Clase que implementa un iterador de todos los números pares,
o los números pares hasta un máximo
"""
# Constructor de la clase
#
def __init__(self, max = None): # self hace referencia al objeto futuro que voy a crear con esta clase
self.max = max
# Método para tener elementos o atributos que voy a necesitar para que el iterador funcione
#
def __iter__(self):
self.num = 0 # Primer número par
# Convertir un iterable en un iterador
return self
# Método para tener la función "next" de Python
#
def __next__(self):
if not self.max or self.num <= self.max:
result = self.num
self.num += 2
return result
else:
raise StopIteration
if __name__ == "__main__":
even_numbers = EvenNumbers(100)
for element in even_numbers:
print(element)