a = b b = a + b Zauważ, że tutaj najpierw robisz a=b, a potem b=a+b, czyli efektywnie w drugiej instrukcji robisz b=b+b. Powinieneś tam użyć zmiennej pomocniczej. Albo po prostu pythonowego zapisu, czyli
a,b=b,a+b (tutaj wartości zmiennych a i b są pobierane przed wykonaniem przypisań).
def fib(n):
a = 0
b = 1
for i in range(n):
a = b
b = a + b
return a
print fib(100)
i ten kod:
def fib(n):
a, b = 0, 1
for i in range(n):
a, b = b, a+b
return a
print fib(100)
zwracają różny wynik?
#programowanie #python #januszeprogramowania #januszepythona
a = b
b = a + b
Zauważ, że tutaj najpierw robisz a=b, a potem b=a+b, czyli efektywnie w drugiej instrukcji robisz b=b+b. Powinieneś tam użyć zmiennej pomocniczej. Albo po prostu pythonowego zapisu, czyli
a,b=b,a+b
(tutaj wartości zmiennych a i b są pobierane przed wykonaniem przypisań).
@Al_Bundy: Nie masz racji.
a,b=0,1
jest tożsame z
a=0; b=1
In [4]: a,b=0,1
In [5]:
Komentarz usunięty przez autora