25 lines
580 B
Python
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))
|