Mich verwirrt das ein wenig:>>> # Fibonacci-Folge:
... # Die Summe der letzten beiden Elemente ergibt das nächste
... a, b = 0, 1
>>> while b < 10:
... print(b)
... a, b = b, a+b
...
1
1
2
3
5
8
Zuerst ist a = 0 und b = 1, er gibt also zuallererst 1 aus. Nach der Ausgabe verändern sich die Variablen, entsprechend des Codes:
Das müsste doch bedeuten:a, b = b, a+b
a = b, also a = 1
UND
b = a + b = 1 + 1 = 2
Demnach sollte er doch bei der nächsten (der zweiten) Schleife, b entsprechend "2" ausgeben. Er gibt aber wieder eine "1" aus. Wieso tut er das?
Wenn ich das ganze leicht anders schreiben würde, nämlich so:
Würde er die Zahlen auch nach meiner Logik ausgeben, also:a = 0
b = 1
while b < 10:
print(b)
a = b
b = a + b
1
2
...
Ich frage mich nun, was der Unterschied ist. Ich dachte eigentlich
a, b = 0, 1
wäre wie im Tutorial erklärt, einfach eine Mehrfachzuweisung, also quasi das Selbe wie:
a = 0
b= 1
aber anscheinend ist dem nicht so. Kann mir jemand meinen Denkfehler erklären?