Fibonacci bis zu einem bestimmten Wert berechnen (Python)?
Ich muss für die Uni einen Code Schreiben, der die größte Fibonacci Zahl ausgibt, die unter 10000 ist.
Das Problem ist, dass man keine if Anweisung schreiben darf.
Bitte kann mir jemand helfen ich verzweifel seit Tagen daran!
3 Antworten
Ich würde es etwa so machen:
a, b = 1, 1
while b < 10000:
a, b = b, a+b
print( a )
Aber bestimmt geht es auch einfacher.
theoretisch könnte man jede if anweisung einfach so ersetzten
while bedingung:
# if code here
break
while !bedingung:
# else code here
break
wird allerdings wohl nicht der sinn des ganzen sein. evtl bringts dich ja trotzdem auf den richtigen weg.
Das Problem ist, dass man keine if Anweisung schreiben darf.
Und wobei ist da ein Problem?
Schreibe eine while-Schleife in der du so lange Fibonacci-Zahlen erzeugst, solange diese unter 10000 sind.
Das liegt daran dass der erste Wert 1 schon unter 10000 ist. Du müsstest dann schon festlegen while i > 8000 and i < 10000 als Beispiel.
Das Problem dabei ist aber dass das Programm dann zb bei 8001 stoppen könnte, wenn es eine Zahl der Fibonnaci Folge wäre, da der Wert die Bedingung erfüllt. Das heißt aber auch nicht, dass der Wert der letzte vor 10000 ist.
Ich würde wie bereits gesagt die Folge solange berechnen bis i > 10000 ist und dann eine Rückrechnung durchführen.
Du brauchst kein break
Wenn a und b die letzten beiden berechneten Zahlen sind:
while a + b < 10000:
c = a + b
a = b
b = c
...
Problem ist, dass ich ein totaler Anfänger bin und nicht weiß wie man diese Grenze setze. Habe etwas über die break methode gelesen, allerdings stoppt mein Programm dann gleich bei 1