Fibonacci bis zu einem bestimmten Wert berechnen (Python)?

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.

Woher ich das weiß:Studium / Ausbildung – Softwareentwickler, B. Sc. Informatik
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.

Klappstuhl55 
Fragesteller
 03.11.2019, 20:22

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

0
mandalorian1  03.11.2019, 20:27
@Klappstuhl55

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.

1
gfntom  03.11.2019, 20:30
@Klappstuhl55

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

...

0