rekursive Variante

#! /usr/bin/env python3
# -*- coding: utf-8 -*-

# Berechnung der Fibonacci-Zahl - rekursiv
print("Berechnung der n-ten Fibonacci-")
print("Zahl mit einem rekursiven Algorithmus")
print("=====================================")
print(" ")

# Eingabe
print("Eingabe der Elementnummer:")
print("--------------------------")
zahl = int(input("Elementnummer (ganze Zahl): "))

# Rekursion als Funktion
def Fib_rek(nummer):
	if (nummer == 0) or (nummer == 1):
		return nummer
	else:
		print("Rekursiver Aufruf mit:", str(nummer - 1), "und", str(nummer - 2))
		return Fib_rek(nummer - 1) + Fib_rek(nummer - 2)

# Funktionsaufruf und Ausgabe
print(" ")
print("Ergebnis:")
print("---------")
print("Die Fibonacci-Zahl Nr.", zahl, "ist", str(Fib_rek(zahl)) + ".")

iterative Variante

#! /usr/bin/env python3
# -*- coding: utf-8 -*-

# Berechnung der Fibonacci-Folge - iterativ
print("Berechnung der Fibonacci-Folge bis zur n-ten")
print("Fibonacci-Zahl mit einem iterativen Algorithmus")
print("===============================================")
print(" ")

# Eingabe
print("Eingabe der Elementnummer:")
print("--------------------------")
zahl = int(input("Elementnummer (ganze Zahl): "))
print(" ")
ergebnis = [] # leere Liste für die Fibonacci-Folge

# Iteration
f0 = 0
f1 = 1
f2 = 0
i = 0
while i < zahl:
	i = i + 1
	f0 = f1
	f1 = f2
	f2 = f1 + f0
	print("Zwischenergebnis nach Schleifendurchlauf Nr.", str(i) + ":", str(f2))
	ergebnis.append(f2)

# Ausgabe
print(" ")
print("Die Fibonacci-Zahl Nr.", zahl, "ist", str(f2) + ".")
print("Die Fibonacci-Folge bis zum Element Nr.", str(zahl), "lautet:")
print(ergebnis)