#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys, argparse
parser = argparse.ArgumentParser(description=u"Calcul et affiche les n premiers nombres de la suite de Fibonacci.")
parser.add_argument("number", help=u"Nombre maximum de calcul de la séquence. Ce nombre doit égal ou supérieur à 2.", type=int)
parser.add_argument("-g", "--display-golden-number", dest="golden", help=u"Afficher le nombre d'or.", action="store_true")
parser.add_argument("--log", default=sys.stdout, type=argparse.FileType('w'), help=u"Fichier où sera enregistré le résultat.")
args = parser.parse_args()
if args.number < 2:
print(u"Indiquer un nombre supérieur ou égal à 2.")
sys.exit(1)
a,b = 0,1
while b < args.number:
print("{:d}".format(b), file=args.log)
a,b = b,a+b
if args.golden:
print(u"\nb/a = {:1.15f} (Nombre d'or)".format(b/a), file=args.log)
args.log.close()
sys.exit(0)