Forum >> Principianti >> comprendere i generatori

Pagina: 1

Ciao a tutti,
sto cercando di comprendere la funzione dei generatori con kw yield. Ho preso questo codice in rete e da solo ho provato a modificarlo con yield, ma ancora riesco a ottenere il risultato sperato:


import time
def red_cars(answer):
    n = 0
    while True:
        if answer == 'yes':
            n = n + 1
            yield n
        else:
            yield n

stop = time.time() + 5 * 60
while time.time() < stop:
    answer = input('Did you spot a red car on the road? ("yes" or "no"): ')
    times = red_cars(answer)
    print(next(times))
Se rispondo yes il risultato della print è 1, ma alla successiva domanda anche se rispondo yes il risultato è fermo a 1.
Yield non dovrebbe registrare un risultato e mantenerlo sino alla prossima chiamata next()?
grazie :)


--- Ultima modifica di Lime In The Coconut in data 2016-11-27 17:12:38 ---
Se l'inglese non è un problema, ti lascio un'interessante lettura, così da dissipare i tuoi dubbi.

Cya


Pagina: 1



Esegui il login per scrivere una risposta.