Blame view

fibonacci.py 891 Bytes
cd7c3b792   root   e41d3f75-d864-476...
1
2
  #!/usr/bin/env python3
  # -*- coding: utf-8 -*-
124d425d7   root   b0474d3c-36c0-4ca...
3
  import sys, argparse
cd7c3b792   root   e41d3f75-d864-476...
4

124d425d7   root   b0474d3c-36c0-4ca...
5
6
7
8
9
10
11
12
  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.")
cd7c3b792   root   e41d3f75-d864-476...
13
14
15
  	sys.exit(1)
  
  a,b = 0,1
124d425d7   root   b0474d3c-36c0-4ca...
16
17
  while b < args.number:
  	print("{:d}".format(b), file=args.log)
cd7c3b792   root   e41d3f75-d864-476...
18
  	a,b = b,a+b
124d425d7   root   b0474d3c-36c0-4ca...
19
20
21
  if args.golden:
  	print(u"
  b/a = {:1.15f} (Nombre d'or)".format(b/a), file=args.log)
cd7c3b792   root   e41d3f75-d864-476...
22

124d425d7   root   b0474d3c-36c0-4ca...
23
24
  args.log.close()
  sys.exit(0)