Generator gibt immer den gleichen Wert zurück

Ich bin bei diesem einen Codeteil festgefahren, weil der Generator nicht jedes Mal, wenn er aufgerufen wird, einen neuen Wert zurückgeben kann - er bleibt nur beim ersten Wert! Schau mal:

vom Zahlenimport *

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

Folgendes bekomme ich:

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

Aber es steckt nur beim ersten fest! Ich habe folgendes erwartet:

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

Könnt ihr mir mit dem Code helfen und erklären, warum es so ist? Danke im Voraus!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage