Conversion Decimal vers Binaire avec liste

Xohama -  
 Xohama -
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

2 réponses

  1. trifou
     
    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
  2. Xohama
     
    Effectivement...
    Merci beaucoup ! :)
    0