El generador sigue devolviendo el mismo valor.

Estoy atascado en este código porque no puedo hacer que el generador me devuelva el siguiente valor cada vez que se le llame, ¡simplemente se queda en el primero! Echar un vistazo:

de importación 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

Esto es lo que obtengo:

>>> next(ArrayCoords(20,20))
... (0, 0)
>>> next(ArrayCoords(20,20))
... (0, 0)

¡Pero está pegado en el primero! Esperaba esto:

>>> next(ArrayCoords(20,20))
... (0, 0)
>>> next(ArrayCoords(20,20))
... (0, 1)
>>> next(ArrayCoords(20,20))
... (0, 2)

¿Podrían ayudarme con el código y explicar por qué es así? ¡Gracias de antemano!

Respuestas a la pregunta(2)

Su respuesta a la pregunta