IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Conversion hexad�cimale en binaire avec Python


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2016
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Sa�ne et Loire (Bourgogne)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par d�faut Conversion hexad�cimale en binaire avec Python
    Bonjour
    Je dois convertir un nombre hexad�cimal en decimale. Seulement je ne suis que debutant avec python. Alors si quelqu'un pourrait m'aider en utilisant les bases rudimentaire de Python �a m'arrangerait bien 😅

  2. #2
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 775
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 775
    Par d�faut
    Salut,

    Citation Envoy� par tom.grbrt Voir le message
    Je dois convertir un nombre hexad�cimal en decimale. Seulement je ne suis que debutant avec python. Alors si quelqu'un pourrait m'aider en utilisant les bases rudimentaire de Python �a m'arrangerait bien
    Un nombre hexad�cimal est un nombre repr�sent� sous forme hexad�cimale (i.e. une chaine de caract�res).
    Avec Python, c'est facile de convertir avec "int" et "hex":
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    >>> int('a0', 16)
    160
    >>> hex(int('a0', 16))
    '0xa0'
    Et si on veut afficher �� en binaire avec la fonction "bin":
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    >>> bin(160)
    '0b10100000'
    >>>
    Si le but est de faire �� vous m�me � partir de chaines de caract�res et des polynomes pour vous faire pratiquer chaines de caract�res et boucles "for", impossible d'utiliser ces fonctions... Mais si vous voulez qu'on vous aide, il faudra poster du code et expliquer ce que vous ne comprenez pas.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2016
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Sa�ne et Loire (Bourgogne)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par d�faut
    Oui daccord mais c'est pour un devoir � rendre et je dois imp�rativement utiliser le code Ascii

  4. #4
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 775
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 775
    Par d�faut
    Citation Envoy� par tom.grbrt Voir le message
    Oui daccord mais c'est pour un devoir � rendre et je dois imp�rativement utiliser le code Ascii
    Certes mais sans expliquer les difficult�s que vous rencontrez en les illustrant avec ce que vous avez cod�, pas grand monde vous donnera de solution.

    Le seul int�r�t de ce genre d'exercice est dans ce que vous allez d�couvrir en essayant d'�crire et mettre au point ces quelques lignes de code.
    Dans le tas, il y a peut �tre des notions qui vous �chappent encore faut-il comprendre leur nature pour savoir sur quoi/comment vous aider.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Futur Membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2016
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Sa�ne et Loire (Bourgogne)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par d�faut
    Oui mais le probl�me c'est que je n'ai absolument pas r�ussi � le cod� !

  6. #6
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 775
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 775
    Par d�faut
    Citation Envoy� par tom.grbrt Voir le message
    Oui mais le probl�me c'est que je n'ai absolument pas r�ussi � le cod� !
    Montrez ce que vous avez fait.
    Racontez les soucis que vous avez.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Futur Membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2016
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Sa�ne et Loire (Bourgogne)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par d�faut
    Voici mon programme:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Hexa=input ("valeur en majuscule")
    Decimal=0
    Rang=0
     
    For j in range (0,len (hexa)):
         If hexa [j]=="A":rang=10
         Elif hexa [j]=="B":rang=11
         Elif hexa [j]=="C":rang=12
         Elif hexa [j]=="D":rang=13
         Elif hexa [j]=="E":rang=14
    Else:rang=15
     
    Decimal=Decimal+rang*16**(hexa-i-1)
    Print (decimal)

  8. #8
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 775
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 775
    Par d�faut
    Salut,

    C'est bien mais vu le nombre de bourdes qu'il y a la dedans, vous n'avez pas encore l'habitude de la console interactive Python.
    Si vous �crivez:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    >>> Hexa = 'abcd'
    >>> For j in range(len(hexa)):
      File "<stdin>", line 1
        For j in range(len(hexa)):
            ^
    SyntaxError: invalid syntax
    >>>
    vous avez d�j� une erreur parce que "for" ne s'�crit pas "For".
    Cela corrig�, �� va se vautrer encore avec:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    >>> for j in range(len(hexa)):
    ...     pass
    ...
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'hexa' is not defined
    >>>
    Pareil: Hexa et hexa sont deux noms de variables diff�rentes.

    Le but de ce genre d'exercice est de vous faire pratiquer. i.e. vous �crivez une �nerie, �� affiche un beau message d'erreur et vous essayez de comprendre la bourde que vous avez fait. C'est fastidieux mais c'est comme �� que vous apprenez qu'un ordi. est un machin tr�s b�te � qui il faut tout expliquer en y mettant les formes.
    La console Python interactive vous permet d'avoir une erreur bien plus vite qu'en passant par un fichier script.
    C'est tout ce que je peux vous raconter en attendant que vous ayez un programme "correct" c�t� Python m�me s'il ne vous donne pas le r�sultat attendu et une explication de ce que vous ne comprenez pas (le but ici est e vous forcer � mettre des "mots", du sens � ce que vous fa�tes... comme la programmation est une technique, il faut apprendre � raconter ce qu'on fait).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Futur Membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2016
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Sa�ne et Loire (Bourgogne)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par d�faut
    Oui je sais cela c'est au cause de mon t�l�phone qui met des majuscule
    Alors voici le vrai programme:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    hexa=input ("valeur en majuscule")
    decimal=0
    rang=0
     
    For j in range (0,len (hexa)):
         if hexa [j]=="A":valeur=10
         elif hexa [j]=="B":valeur=11
         elif hexa [j]=="C":valeur=12
         elif hexa [j]=="D":valeur=13
         elif hexa [j]=="E":valeur=14
         elif hexa [j]=="F":valeur=15
     
    decimal=decimal+rang*16**(len (hexa)-j-1)
    print (decimal)
    En faite je n'arrive pas � exprimer la valeur decimal final juste...

  10. #10
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 775
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 775
    Par d�faut
    Citation Envoy� par tom.grbrt Voir le message
    Oui je sais cela c'est au cause de mon t�l�phone qui met des majuscule
    Et bien il faut utiliser un outil qui �vite de d�former ce que vous �crivez.


    Citation Envoy� par tom.grbrt;8761030Alors voici le vrai programme:
    [CODE
    hexa=input ("valeur en majuscule")
    decimal=0
    rang=0

    For j in range (0,len (hexa)):
    if hexa [j]=="A":valeur=10
    elif hexa [j]=="B":valeur=11
    elif hexa [j]=="C":valeur=12
    elif hexa [j]=="D":valeur=13
    elif hexa [j]=="E":valeur=14
    elif hexa [j]=="F":valeur=15

    decimal=decimal+rang*16**(len (hexa)-j-1)
    print (decimal)[/CODE]

    En faite je n'arrive pas � exprimer la valeur decimal final juste...
    Relisez le code que vous avez post�:
    Vous assign� quelque chose � la variable "valeur" mais vous calculez avec "rang" qui a �t� initialis� � 0. De plus vous mettez � jour "decimal" en sortie de boucle plut�t qu'a chaque it�ration.
    Pour calculer "valeur", je vous sugg�re d'utiliser .index:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    >>> 'abcd'.index('c')
    2
    Ce qui vous �vitera d'�crire un tas de "elif" (il en manque 10!!!).
    Puis il vous faudra revoir/simplifier la formule qui calcule "decimal"...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. R�ponses: 8
    Dernier message: 18/04/2011, 14h46
  2. Afficher un arbre binaire avec sa structure
    Par PhoneKilleR dans le forum C
    R�ponses: 7
    Dernier message: 23/04/2008, 23h24
  3. [LabView-MATLAB] Conversion de fichier binaire
    Par flzox dans le forum LabVIEW
    R�ponses: 3
    Dernier message: 20/01/2007, 18h42
  4. R�ponses: 1
    Dernier message: 11/09/2005, 02h04
  5. Arbre binaire avec la STL ?
    Par SteelBox dans le forum SL & STL
    R�ponses: 9
    Dernier message: 10/11/2004, 13h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo