Files
Funktional/07_quadratzahlen.py

25 lines
580 B
Python

"""Erweitern Sie die Klasse Squares zu einem Iterator mit __iter__ und __next__. Prüfen Sie, dass
list(Squares(4)) die Liste [1, 4, 9, 16] ergibt. Was passiert, wenn Sie denselben Iterator ein zweites Mal
durchlaufen?"""
class Squares:
def __init__(self, n):
self.iter = 1
self.n = n
def __next__(self):
if self.iter > self.n:
raise StopIteration
square = self.iter**2
self.iter += 1
return square
def __iter__(self):
return self
squares = Squares(4)
print(list(squares))
print(list(squares))