I am confused on lines 9-11, how does elem2 change values, surely it would just say as one since it's just swapping values with it's self? It's confusing because in order for this sequence to work it needs to change, I just don't know how it is doing so.
[CODE lang="python" highlight="9-11"]def fib(n):
if n < 1:
return None
if n < 3:
return 1
elem1 = elem2 = 1
sum = 0
for i in range(3, n + 1):
sum = elem1 + elem2
elem1, elem2 = elem2, sum
return sum
for n in range(1, 5): # testing
print(n, "->", fib(n))
[/CODE]
[CODE lang="python" highlight="9-11"]def fib(n):
if n < 1:
return None
if n < 3:
return 1
elem1 = elem2 = 1
sum = 0
for i in range(3, n + 1):
sum = elem1 + elem2
elem1, elem2 = elem2, sum
return sum
for n in range(1, 5): # testing
print(n, "->", fib(n))
[/CODE]