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!