from fractions import * def undixieme_dec(N): '''retourne (0,00011001100110011...)_2 tronqué au N-ième chiffre après la virgule, calculé sous forme de fraction''' puiss = Fraction(1,2) i = 1 S = 0 while i < N : puiss = puiss / 2 i += 1 if i % 4 == 0 or i % 4 == 1 : # le chiffre de rang i est un 1 S += puiss return(S,float(S))