Ich machte eine Übung aus John Zelles Buch über Python, er bat, die Fibonacci-Sequenz mit einer Loop-Funktion zu machen.Was eine Solitaire negative Zahl auf der Strecke tut?
Nachdem ich es nicht geschafft, um es getan, habe ich einen Blick auf seine Auflösung, die dies war:
n = int(input("Enter the value of n: "))
curr, prev = 1, 1
for i in range(n-2):
curr, prev = curr+prev, curr
print("The nth Fibonacci number is", curr)
Während ich ein Teil verstanden, was er getan hat, der Teil, den ich verpasst wurde der (n-2)
Bereich.
Ich habe hier auf Stackoverflow einen Blick darauf geworfen und Leute sagen, dass eine negative Zahl auf dem Bereich zurück zum Ende der Liste geht. Wenn der Benutzer in diesem Fall jedoch 1 anfordert, lautet das Ergebnis range(-1)
.
Meine Vermutung war, dass der Autor das tat, so dass die for-Schleife die ersten beiden Werte der Fibonacci-Sequenz nicht summierte, da sie beide 1 sind, und erst nachdem der Benutzer 2 und höher auffordert, beginnt die Schleife tatsächlich summieren. Bin ich richtig?
Ja. 'range (-x)' oder 'range (0)' ergibt nichts. – kindall
Das konnte man leicht testen, oder? – trincot
Lesen Sie die [Dokumente] (https://docs.python.org/3/). Die meisten integrierten Python-Funktionen befinden sich unter [Funktionen] (https://docs.python.org/3/library/functions.html#func-range). Die Details für Bereiche und andere integrierte Objekte sind meist in [Built-In Types] (https://docs.python.org/3/library/stdtypes.html#typesseq-range). –