Besoin d'aide pour raccourcir mon code python
jee pee Messages postés 41526 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je suis débutant et j'ai crée un script en python pour convertir un nombre décimal en un nombre binaire, et j'aimerais savoir si c'est possible de raccourcir la partie où je met toutes les instruction dans ma fonction "convert" (je me suis creusé la tête mais je n'arrive pas à trouver)
Voici le code :
octet = [0,0,0,0,0,0,0,0]
d = int(input("Entrez un nombre entre 0 et 255 : "))
fd = str(d)
def convert():
global octet
global d
db = [2, 4, 8, 16, 32, 64, 128, 256]
while d != 0:
if 2>d>=1:
octet[-1] = 1
d -= 1
if 4>d>=2:
octet[-2] = 1
d -= 2
if 8>d>=4:
octet[-3] = 1
d -= 4
if 16>d>=8:
octet[-4] = 1
d -= 8
if 32>d>=16:
octet[-5] = 1
d -= 16
if 64>d>=32:
octet[-6] = 1
d -= 32
if 128>d>=64:
octet[-7] = 1
d -= 64
if 256>d>=128:
octet[-8] = 1
d -= 128
convert()
print("La valeur en octet du nombre ", fd, " est : ", *octet, sep=" ")
- Besoin d'aide pour raccourcir mon code python
- Code ascii - Guide
- Citizen code python avis - Accueil - Outils
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
1 réponse
Bonjour,
Il existe de très nombreuses façon de procéder.
Voilà en divisant par 2 et conservant juste le reste, c'est la transposition de ce que l'on fait à la main pour faire une conversion avec un papier et un crayon, en maitrisant la division par 2
nbr = int(input ("Tapez votre nombre ")) code = '' while nbr !=0 : reste = nbr%2 nbr = nbr//2 code = str(reste)+code print(code)