Files
Python-Schulung/Donnerstag/fibonacci.py
2022-11-24 12:57:50 +01:00

37 lines
902 B
Python

#! /usr/bin/env python3
def fibonacci(n):
if n == 1 or n == 2:
return 1
#Rekursiver Funktionsaufruf
#return fibonacci(n - 1) + fibonacci(n - 2)
fn_1, fn_2 = 1, 1
for i in range(n-2):
fn_1, fn_2 = fn_1 + fn_2, fn_1
return fn_1
def fibonacci_folge(n):
if n >= 1:
#print("yield 1 (fib(1))")
yield 1
if n >=2:
#print("yield 1 (fib(2))")
yield 1
#Rekursiver Funktionsaufruf
#return fibonacci(n - 1) + fibonacci(n - 2)
fn_1, fn_2 = 1, 1
for i in range(n-2):
fn_1, fn_2 = fn_1 + fn_2, fn_1
#print("yield {} (fib({}))".format(fn_1, i+3))
yield fn_1
#print("fib(5) =", fibonacci(5))
#
# print("fib(40) =", fibonacci(400))
for nr, fib in enumerate(fibonacci_folge(30)):
print(nr+1, fib, sep=' -> ')
#print(list(fibonacci_folge(30)))
#print([i for i in fibonacci_folge(10)])