Écrire un programme qui lit un nombre positif ou nul en base binaire et qui affiche sa valeur en base 10.
Votre programme doit lire les caractères du nombre un par un, car il peut y avoir jusqu'à 26 chiffres binaires.
entrée :
101111
sortie :
47
def main(): binaire = input() n = 0 for bit in binaire: n <<= 1 if bit == '1': n += 1 print(n) main()
binaire
est ici une chaîne de caractères, donc on fait bien un test bit == '1'
où le '1'
est bien lui aussi une chaîne de caractères.def main(): binaire = input() n = 0 puissance = 1 for bit in binaire[::-1]: if bit == '1': n += puissance puissance <<= 1 print(n) main()
int
, avec l'argument optionnel 2
, pour signifier que le premier paramètre est en base 2.binaire = input() n = int(binaire, 2)