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ę!

questionAnswers(2)

yourAnswerToTheQuestion