Sto giocando intorno con generatori per capire meglio come funzionano confusione, ma io sono confuso con il risultato della seguente pezzo di codice:Python Generatore: risultato
>>> def gen():
... for i in range(5):
... yield i
...
>>> count=gen()
>>> for i in count:
... print count.next()
...
1
3
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
StopIteration
>>>
cosa sta succedendo qui? Sembra che quando colpisce la riga "for i in count:" il generatore produce il primo valore. Non ne sono sicuro.
EDIT: Vorrei aggiungere che non sto cercando di "farlo bene". Sto cercando di rompere le cose per vedere come reagisce Python. Imparo di più sulla lingua quando genera errori. Questo errore mi ha bloccato ma ora è tutto chiaro. Finora tutte le risposte sono state brevi e dolci. Grazie a tutti!
'per i in count' e' count.next() 'sono * entrambi * cercando di ottenere l'elemento successivo - perché li stai usando entrambi nello stesso ciclo ?! – jonrsharpe