Python : algo pour convertir nbre en binaire

Fermé
Ml1990 - 1 oct. 2012 à 20:37
oussayos Messages postés 1 Date d'inscription mercredi 26 février 2014 Statut Membre Dernière intervention 26 février 2014 - 26 févr. 2014 à 02:53
Bonjour,
Je travaille sur un petit script en python qui permettrait de convertir un nombre saisi en binaire. Par exemple, si on saisit 10 : cela renvoi 1010, ou encore 17 : 10001

Mais il y a quelques bugs... Si quelqu'un pouvait m'aider, voila mon code :
def puissance(x) :
	produit = 1
	while x!= 0 :
		produit = produit * 2
		x = x - 1
	return produit

def rang_max_func (number) :
        rang_max = 0
        boolean =  True
        while boolean == True :
                if number > expo[rang_max] :
                        rang_max += 1
                if number < expo[rang_max] :
                        boolean = False
                        rang_max -= 1
        return rang_max

def remplissage () :
        i = 0
        while (i<50) :
                test = puissance(i) 
                expo.append(test)
                i += 1

rang_max = i = size = 0
expo = converti = list()

# ----------------------------------------------------------------------------

number = int (input("Entrez le nombre à convertir en binaire : "))
remplissage()
if number == 0 :
        print ("Le nombre converti en binaire vaut : 0")
else :
        rang_max = rang_max_func (number)
        print (rang_max)
        size = rang_max
        converti.append(1)
        number = number - expo[rang_max]
        while rang_max != -1 :
                rang_max -= 1
                if number - expo[rang_max] >= 0 :
                        converti.append(20)
                if number - expo[rang_max] < 0 :
                        converti.append(10)
        number = number - expo[rang_max]

        print("Le nombre vaut donc " +str(number), " et en binaire : ")
        
        print(converti[2])
                
       


Merci d'avance

3 réponses

oussayos Messages postés 1 Date d'inscription mercredi 26 février 2014 Statut Membre Dernière intervention 26 février 2014 14
26 févr. 2014 à 02:53
pour ta question . j ai pu trouver une solution assez simple :
13