Donne la représentation d’une série de bits (chaîne alphanumérique ou liste) en entier positif.
def str2dec(s): """ s est une chaine de caracteres """ d = 0 t = "" for x in s: if x in ['0', '1']: t += x k = len(t) - 1 for x in t: d += int(x) * (2 ** k) k -= 1 return d def list2dec(l): """ l est une liste de 0 et de 1 """ s = "" for x in l: if x in [0, 1]: s += str(x) return str2dec(s) def decimal(d): """ representation en base 10 """ if type(d) is str: return str2dec(d) else: return list2dec(d) print(decimal("0001 1000")) print(decimal([1, 0, 1, 1])) print(decimal("1111 1111.1111 1111.1111 1111.1111 1111")) x = str(input("nombre (par ex. \"0001 1000\" ou \"[1, 1, 0, 0, 0]\") ? ")) print(decimal(x))