Programme

gregoire -  
 gregoire -
Bonsoir,
Excusez-moi de vous déranger mais j'ai du mal à comprendre toutes les lignes de votre programme !! Pouvez-vous m'expliquer la fonction de chacune de ces lignes ?
Merci d'avance

Configuration: Windows / Firefox 83.0

14 réponses

  1. gregoire
     
    Par exemple je ne comprends pas la dernière ligne !!
    0
  2. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Bonsoir,

    Quel programme ?
    0
  3. gregoire
     
    Ah oui excusez moi !!!
    celui ci :
    binaire = str(input("Entrez le nombre binaire à convertir :"))
    decimal = 0
    binaire = binaire[::-1]
    print(len(binaire))
    for x in range(len(binaire)):
    d = binaire[x]
    decimal += int(d)* 2**x
    print(decimal)

    Et en plus ce programme qui est censé convertir du binaire au décimal le fait bien mais affiche avant le résultat, le nombre de caractères en plus !!!
    je ne comprends pas tout de son fonctionnement pouvez vous m'expliquer ?
    Merci d'avance
    0
  4. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Bonjour gregoire,

    Pas facile à lire sans les indentations

    L'indentation étant importante en Python, merci de re poster ton code avec les balises de code
    mode d'emploi:
    https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
    Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :

    def test():
        print('test')
    
    test()
    
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gregoire
     
    Merci beaucoup j'espère que c'est lisible cet fois-ci !!!
    binaire = str(input("Entrez le nombre binaire à convertir :"))
                decimal = 0 
                binaire = binaire[::-1] 
                print(len(binaire)) 
                for x in range(len(binaire)):
                    d = binaire[x]
                    decimal += int(d)* 2**x 
                print(decimal)   
        
                
    0
  7. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Je pense que tu n'as pas suivi le mode d'emploi:

    binaire = str(input("Entrez le nombre binaire à convertir :"))
    decimal = 0 
    binaire = binaire[::-1] 
    print(len(binaire)) 
    for x in range(len(binaire)):
        d = binaire[x]
        decimal += int(d)* 2**x 
    print(decimal) 
     


    Admettons
    Tu dis ne pas comprendre ce code, il sort d'où, en fait ?

    Moi, je vois ce qui se passe: il y a des façons plus directes de convertir binaire -> décimal
    Mais ici, c'est basé sur le fait que chaque bit du nb binaire est le coefficient du polynôme
    qui est la somme des puissances de 2 de 0 à n :

    Exemple: 100 en binaire

    1 fois 2 puissance 2 + 0 fois 2 puissance 1 + 0 fois 2 puissance 0 = 4
    0
  8. gregoire
     
    Merci pour ta réponse !!
    En fait je dois réaliser un seul programme qui convertit en même temps après le choix de l'utilisateur : base 2/base 10/base 16 ( qui passe de l'un à l'autre)
    je suis en train de faire ligne par ligne et programme par programme en m'inspirant de programmes préexistant mais j'ai queques difficultés !!!! sinon merci pour tes explications !!!
    J'ai déjà fait ça :
    choix = "b"
    while choix !=4 :
        print("Décimal vers Binaire : 1")
        print("Binaire vers Décimal : 2")
        print("Decimal vers Hexadecimal : 3")
        choix = input("Que voulez-vous ? ")
        if choix == "1" :
            valeur = int(input("entrer un entier :"))
            binaire = ""
            while valeur != 0 :
                reste = str(valeur%2) 
                binaire = reste + binaire 
                valeur = valeur//2
            print("conversion en binaire :",binaire)   
        else :
            if choix == "2" :
                binaire = str(input("Entrez le nombre binaire à convertir :"))
                decimal = 0 
                binaire = binaire[::-1] 
                print(len(binaire)) 
                for x in range(len(binaire)):
                    d = binaire[x]
                    decimal += int(d)* 2**x 
                print(decimal)   
        elif:
            if choix== "3":
                
                
    0
  9. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Holà grégoire,

    tu t'es encore trompé: tu vois bien que les couleurs de ton code ne sont pas les mêmes que dans mon message précédent

    Il faut copier/coller le code dans ton message, puis sélectionner tout le code à la souris, et enfin dérouler la liste (petite flèche noire vers le bas), et cliquer Python

    Ceci dit, pour les test if, elif .... tu peux faire comme ça:

    if(choix == '1'):
        ....
    elif(choix == '2'):
        ..........
    elif(choix == '3'):
        .........
    


    A savoir qu'on peut convertir dans les différentes bases d'une manière simple en utilisant
    les formats
    0
  10. gregoire
     
    Merci pour ta réponse !!
    Ah oups je suis vraiment désolé !!!
    C'est une très bonne idée merci beaucoup pour ton aide !!!
    Je ne comprends pas !! C'est quoi les formats ?
    0
  11. gregoire
     
    Voilà en fait le problème c'est qu'on ne peut pas utiliser les formats sinon ce serait beaucoup trop simple !!
    Donc as-tu une idée pour réaliser un programme de binaire à hexadécimal pour commencer ?
    Au moins je pourrais compléter mon grand programme vu ci-dessus !!
    0
  12. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Bonjour Grégoire,

    Pourquoi pas les formats ?

    Sinon, tu as cherché sur Internet pour les conversions d'une base à une autre ?
    0
  13. gregoire
     
    parce que le prof juge ça trop facile !!
    Mais sinon j'ai du mal à trouver de bon résultats concluants !!!
    As-tu des petits conseils à me donner ?
    0
  14. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Je ne me suis jamais penché sur la question ...

    Pour binaire -> hexa, on pourrait faire binaire -> décimal (tu as déjà la fonction)

    puis décimal -> hexa

    Si j'avais à faire ça, je taperais "python convertir de binaire en hexa" dans la barre de recherche

    internet ...
    0
  15. gregoire
     
    Merci beaucoup je vais me pencher sur la question !!!
    0