Passer du décimal au binaire en Python
Cours gratuits > Forum > Forum maths || En basPasser du décimal au binaire en Python
Message de tmatsiona posté le 30-09-2020 à 00:52:11 (S | E | F)
On cherche à passer du décimal au binaire avec le langage de programmation Python.
J'utilise pour se faire la méthode consistant à diviser par 2 tous les quotients successivement et à récupérer les restes en partant du dernier jusqu'au premier ( j'obtiens une suite de 1 et de 0).
Malheureusement, mon programme ne fonctionne pas. Pouvez-vous m'aider s'il vous plaît.
Voici le programme:
nombre=int(input("Donnez-moi un nombre en base décimale afin que je le convertisse en base binaire."))
reste=nombre%2
quotient=nombre//2
list=[]
while quotient != 0:
list.append(reste)
nombre=quotient
list.reverse()
print(list)
Message de tmatsiona posté le 30-09-2020 à 00:52:11 (S | E | F)
On cherche à passer du décimal au binaire avec le langage de programmation Python.
J'utilise pour se faire la méthode consistant à diviser par 2 tous les quotients successivement et à récupérer les restes en partant du dernier jusqu'au premier ( j'obtiens une suite de 1 et de 0).
Malheureusement, mon programme ne fonctionne pas. Pouvez-vous m'aider s'il vous plaît.
Voici le programme:
nombre=int(input("Donnez-moi un nombre en base décimale afin que je le convertisse en base binaire."))
reste=nombre%2
quotient=nombre//2
list=[]
while quotient != 0:
list.append(reste)
nombre=quotient
list.reverse()
print(list)
Réponse : Passer du décimal au binaire en Python de tiruxa, postée le 30-09-2020 à 07:03:37 (S | E)
Bonjour,
Le problème c'est que la boucle While ne contient pas les calculs, ceux ci ont été mis avant la boucle et donc ne sont esécutés qu'une seule fois.
Avant la boucle il faut juste initialiser les variables reste et quotient, par exemple en donnant à reste la valeur 0 et à quotient la valeur nombre (il suffit juste que ce nombre soit non nul pour que la boucle démarre)
On déplace ensuite les calculs de la division par 2 dans la boucle comme ci dessous :
nombre=int(input("Donnez-moi un nombre"))
reste=0
quotient=nombre
list=[]
while quotient != 0:
reste=nombre%2
quotient=nombre//2
list.append(reste)
nombre=quotient
list.reverse()
print(list)
Là cela doit marcher...
Cours gratuits > Forum > Forum maths