generator zwraca tę samą wartość
Utknąłem na tym jednym kawałku kodu, ponieważ nie mogę zmusić generatora do zwrócenia mi następnej wartości za każdym razem, gdy zostanie wywołana - po prostu pozostaje na pierwszym! Spójrz:
z importu numpy *
def ArrayCoords(x,y,RowCount=0,ColumnCount=0): # I am trying to get it to print
while RowCount<x: # a new coordinate of a matrix
while ColumnCount<y: # left to right up to down each
yield (RowCount,ColumnCount) # time it's called.
ColumnCount+=1
RowCount+=1
ColumnCount=0
Oto co otrzymuję:
>>> next(ArrayCoords(20,20))
... (0, 0)
>>> next(ArrayCoords(20,20))
... (0, 0)
Ale to utknęło na pierwszym! Spodziewałem się tego:
>>> next(ArrayCoords(20,20))
... (0, 0)
>>> next(ArrayCoords(20,20))
... (0, 1)
>>> next(ArrayCoords(20,20))
... (0, 2)
Czy moglibyście pomóc mi z kodem, a także wyjaśnić, dlaczego tak jest? Z góry dziękuję!