+ 4
What's happening here?
uncommenting the only commented line fails the code. why is it? also, without uncommenting, if i try list comprehension instead of generator, there is RecursionError. https://code.sololearn.com/cRvoK31O3qFN/?ref=app
2 odpowiedzi
+ 6
In the first part there is a generator. And a generator is just a set of commands yet to be executed.
A = (i for i in range(67))
Here, A is a generator. It only knows 'what to do' and hasn't done anything yet. It hasn't created the sequence of numbers.
That is why this also runs without error:
def evens():       #infinite sequence
   n = 0
    while True:
        yield i
        i += 2
B = evens()
Now when you execute the generator, you may get error since it is only now that the generator-code is running.
For example,
print(list(B))     #memoryerror
here, the actual sequence is being created hence error.
Another example:
def recur():
	yield 1    #to make it a generator
	yield from recur()
C = recur()      #no error
print(list(C))   #recursionerror
+ 3
Harsha S 
If n=50, then your code works on Sololearn, so I think fibonacci 500 may be too big for the allowed processing time on Sololearn.
It fails above n = 498



