Bonsoir, j'ai un DM à dans 5 jours et je suis très "nul" dans cette spécialité de 1er :

Voici l'énoncer :

1) Écrire une fonction Python qui reçoit une chaine de 8 caractère binaire et renvoi la valeur décimal correspondante.

2) Écrire une fonction qui reçoit une liste de code ASCII et renvoi la chaine de caractères correspondante .


Merci d'avance.

( pour ce qui vont dire, "oui, mais il faut que tu ai fait tes recherches et des essaies. Eh bien, j'ai fait des essaies et plusieurs recherches mais je ne trouve rien c'est pour cela que je viens chercher de l'aide ou je pense pouvoir trouver)

Sagot :

caylus

Réponse :

Bonsoir,

Explications :

La fonction traite tout chaine binaire et pas uniquement celles de 8 charactères.

A toi de modifier

def binaire( n,m):

   rep=''

   p=n

   while p > 0:

       rep=str(p%2)+rep

       p=int(p/2)

       # print (rep,p)

   rep=(repstr('0',m)+rep)[-m:]

   return rep

def decimal(string):

   rep=0

   p=string

   for i in range(0,len(p)):

       rep=rep*2

       if p[i]=='1':

           rep=rep+1

       print (p[i],'rep=',rep)

   return rep

def repstr(string, length):

   return (string * length)[0:length]

nb=18

Bin=binaire(nb,6)

Dec=decimal(Bin)

print (nb,'=',Bin,Dec)