Fibonacci Zahlen
Verfasst: Samstag 19. November 2022, 10:22
Hallo zusammen, ich bin neu hier und fange gerade an Python zu lernen. Ich hoffe daher, dass meine Frage nicht allzu doof ist, aber ich will eine Aufgabe schaffen und check irgendwie grad einfach nicht mehr, wie es gehen könnte. Ich will eine Funktion erstellen, die die n-th Fibonacci Folge erstellt, sowohl im positiven als auch im negativen Bereich. Im positiven Bereich klappt es super, aber ich möchte sie auch mit der selben Vorgehensweise in die negative Richtung machen, nur leider funktioniert das nicht. Ich habe schon viele Varianten ausprobiert, hier seht ihr den Code wo ich jetzt einfach mal das Minus- und Pluszeichen getauscht habe. Wisst ihr vielleicht, wo mein Denkfehler liegt? Danke schon mal im Voraus.
print(fib(-8))
Und dann müsste es mir immer die aktuelle Fib Zahl anzeigen, je nachdem welche man haben möchte zB -8. Bei +8 stimmt das Ergebnis mit 21, bei den negativen Zahlen steht aber dann list index out of range
Code: Alles auswählen
def fib(n: int):
if n >= 0:
a = [0, 1]
for i in range(2, n+1):
a.append(a[i-1] + a[i-2])
return a[n]
if n <= -1:
b = [0, 1]
for j in range(2, n+1):
b.append(b[j+1] - b[j+2])
return b[n]
Und dann müsste es mir immer die aktuelle Fib Zahl anzeigen, je nachdem welche man haben möchte zB -8. Bei +8 stimmt das Ergebnis mit 21, bei den negativen Zahlen steht aber dann list index out of range