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 :

Besoin d'aide programme python


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Besoin d'aide programme python
    Bonjour j'essaie de faire un convertisseur binaire 8 bits en décimal mais cela ne fonctionne pas. J'auris donc besoin de votre aide, s'il vous plait !
    Voici mon code :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     
    print("Entrez un nombre binaire sur 8 bits")
     
    binaire =[0]*8
    nombre = input() 
     
     
     
    longueur = len(nombre)
    if longueur != 8: 
            print("Ce n'est pas un binaire sur 8 bits")
     
     
     
    décimal = 0 
     
    for indice in range(8):
            binaire[indice] = nombre[indice]     
     
    binaire.reverse()
     
    for indice in range(8): 
            décimal = binaire[indice]*(2**indice) + décimal 
     
    print("Votre nombre s'écrit:", end = "")
    print(décimal)
    Merci d'avance !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par HiroE Voir le message
    j'essaie de faire un convertisseur binaire 8 bits en décimal mais cela ne fonctionne pas. J'auris donc besoin de votre aide, s'il vous plait !
    Ça ne fonctionne pas est plutôt vague, soit çà ne fait pas ce que vous attendez soit çà remonte un message d'erreur qui indique que vous vous êtes planté quelque part... et qui vous permettrait de préciser votre question.

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

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Ah oui excusez moi !
    voilà le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Traceback (most recent call last):
     
    File "C:\Users\Clément\Desktop\miniprojet.py", line 23, in <module>
        décimal = binaire[indice]*(2**indice) + décimal
    TypeError: can only concatenate str (not "int") to str

  4. #4
    Membre habitué Avatar de racine carrée
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 156
    Points : 137
    Points
    137
    Par défaut
    Bonjour,
    quand on exécute ce programme on voit tout de suite l'erreur comme tu viens de le remarquer !
    ceci est clair: binaire est une liste de chaine de caractère (input renvoie une chaine de caractère, qui est décomposée en une liste de chaine de caractère par la première boucle for) et on essaye d'ajouter binaire[indice] (qui est donc une chaine de caractère) à décimal (qui est un entier).
    Il faut donc utiliser une conversion de type à l'aide de int().
    exemple:
    >>>int("10")
    10
    Bon courage !

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup racine carrée, ça marche !

  6. #6
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Bonjour,

    C'est sans doute un travail d'ordre algorithmique, car python fait ce genre de conversion de manière très simple... à l'aide d'une fonction spécifique.

    Si on prend ton code et la partie vérification du nombre binaire, elle est incomplète (d'ailleurs un nombre binaire n'est pas obligatoirement de longueur 8 caractères) ! Il faudra aussi vérifier que l'ensemble des entiers qui composent cette chaîne (variable binaire) sont bien des '0' et des '1' avec l'objet set par exemple.

    Bonne continuation...
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  7. #7
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par HiroE Voir le message
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if longueur != 8: 
            print("Ce n'est pas un binaire sur 8 bits")
    Il me semble que "101" est bel et bien un nombre binaire. Si maintenant il faut saisir "00000101" pour que le programme me donne un résultat, ça va vite devenir lourd. Toutefois on remarquera que dans ce cas, le programme continue quand-même son travail...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [Python 2.X] Besoin d'aide ! programme Python
    Par Duroy dans le forum Général Python
    Réponses: 7
    Dernier message: 27/01/2016, 17h30
  2. aide programme python!
    Par ano33 dans le forum Général Python
    Réponses: 4
    Dernier message: 28/04/2010, 16h54
  3. Besoin d'aide "Programmation graphique"
    Par magic-moad dans le forum C++
    Réponses: 3
    Dernier message: 22/11/2009, 15h38
  4. Besoin d'aide - programmation basique
    Par Mr_Trickster dans le forum Langage
    Réponses: 3
    Dernier message: 10/11/2008, 08h41
  5. Réponses: 2
    Dernier message: 13/06/2007, 11h03

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