bin_fibo.py

Created by schraf

Created on April 24, 2023

240 Bytes

Représentation binaire des 320 premiers termes de la suite de Fibonacci.

Remarques :

1 & n permet de récupérer le bit unité, ce sera “1” si le nombre est impair et “0” sinon. n » 1 est une autre façon de diviser un entier par 2 sans tenir compte des décimales.

Version avec la bibliothèque PIL :

from PIL import Image, ImageDraw

source = Image.new("RGB", (700, 700), color = "white")
draw = ImageDraw.Draw(source)

x, m = 0, 700
f = [0, 1]

for i in range(m):
  if i < 2: n = i
  else:
      f = f[1:] + [sum(f)]
      n = f[1]
  j = 0
  while n > 0:
   if 1 & n:
    draw.point((x, m - j), fill = 'black')
   j += 1
   n >>= 1
  x += 1

source.show()


from kandinsky import *

x = 0
f = [0, 1]

for i in range(320):
  if i < 2: n = i
  else:
   f = f[1:] + [sum(f)]
   n = f[1]
  j = 0
  while n > 0:
   if 1 & n: set_pixel(x, 222 - j, (0, 0, 0))
   j += 1
   n >>= 1
  x += 1