# Die Zahl "zahl" darf/soll veraendert werden, um einfach mal den Code auszuprobieren.
# Dabei kann alles moegliche eingetragen werden, nicht nur Zahlen.
zahl = 20
#print(type(zahl))                               # Der Typ wird zurueckgegeben
                                                # Nuetzlich fuer Fehlersuche
nummer1 = 0                                     # nummer1 und nummer2 werden benoetigt,
nummer2 = 1                                     # da ohne diese beiden Werte nicht
                                                # weitergerechnet werden

if(type(zahl) == int):                          # Ist "zahl" vom Typ 'int'?
                                                # Falls nicht, springe zu Zeile 36
    if(zahl < 0):                               # Ist "zahl" negativ?
                                                # Falls nicht, springe zu Zeile 21
        print('Fibonacci-Folge von negativen Zahlen nicht vorhanden')
    elif(zahl == 0):                            # Ist "zahl" gleich 0, wird nummer1
                                                # zurueckgegeben
        print('Fibonacci(0) = ' + str(nummer1))
    elif(zahl == 1):                            # Ist "zahl" gleich 1, wird nummer2
                                                # zurueckgegeben
        print('Fibonacci(0) = ' + str(nummer2))
    else:
        for i in range(zahl):                   # Einfache Schleife mit range()-Methode
                                                # Beginnt (implizit) bei 0 und endet (exklusiv) 
                                                # bei zahl
            print(nummer1)                      # Der aktuelle Wert von nummer1 wird ausgegeben
            temp = nummer1 + nummer2            # Eine Variable "temp" wird als temporaere
                                                # Variable eingefuehrt und ihr wird die Summe
                                                # aus nummer1 und nummer2 zugewiesen
            nummer1 = nummer2                   # nummer1 bekommt den alten Wert von nummer2
            nummer2 = temp                      # nummer2 bekommt den Wert aus der Summe
                                                # Waehrend des naechsten Schleifendurchlaufs wird
                                                # der neue Wert von nummer1 ausgegeben, welcher
                                                # der alte Wert von nummer2 war und so
                                                # geht das solange weiter, bis der Zaehler
                                                # zahl erreicht wird
else:
    print('Fibonacci-Folge nur von echten Zahlen moeglich. Bitte Fehler ueberpruefen.')