Conversion Decimal vers Binaire avec liste

Fermé
Xohama - Modifié le 5 déc. 2019 à 09:49
 Xohama - 6 déc. 2019 à 12:16
Bonjour,

Je dois réaliser un programme utilisant une fonction (sans bin) pour convertir un nombre décimal en binaire. Cette fonction doit renvoyer une liste. Ex :
Dectobin(35)
[1,0,0,0,1,1]

J'ai réussi à faire une fonction de conversion dec vers bin mais sans renvoi de liste...

def DecimalToBinary(n): 
 
    if n > 1: 
        DecimalToBinary(n // 2) 
    print(n % 2, end = '') 


J'ai essayé de le faire avec un renvoi de liste mais mon programme ne marche pas... (il n'est pas du tout bon je pense...)
def dectobin(num) :
   l = []
   while num != 0:
       bit = num//2
       l.insert(0, bit)
       num = num%2
   print (l)


Pouvez vous m'aider svp ?

Configuration: Windows / Chrome 78.0.3904.108
A voir également:

2 réponses

Bonjour,

Tu as simplement inversé les opérateurs // et %

def dectobin(num) :
    l = []
    while num:
        bit = num % 2
        num //= 2
        l.insert(0, bit)
    return l


Que l'on peut faire également avec divmod.

def dectobin(num):
    l = []
    while num:
        num, bit = divmod(num, 2)
        l.append(bit)
    l.reverse()
    return l
0
Effectivement...
Merci beaucoup ! :)
0