Liste des chiffres extraits d'un nombre

adrien -  
 adrien -
Bonjour,
je dois écrire un code permettant de donner la liste des chiffres d'un nombre dans son écriture en base 10: soit très simplement en prenant un exemple: n = 1472 donne L= [1,4,7,2]. J'ai écrit un code mais il me donne la liste inversée. De plus j'ai comme contrainte de ne pas utiliser la fonction reverse.
Pourriez vous m'aider svp, merci

Configuration: Windows / Chrome 77.0.3865.120

3 réponses

  1. adrien
     
    Voila, c'est tout simplement ca :

    def liste_chiffres(n):
              r=n%10
              q=n//10
              L=[r]
              while q>9:
                      r=q%10
                     q=q//10
                     L.append(r)
              L.append(q)
              return L
    
    print(liste_chiffres(1789))  #résultat inverse


    (et la j'obtiens très logiquement L=[9,8,7,1])
    bien sur en mettant l'indentation, le code marche très bien)

    j'ai ecris ce code aussi qui revient au meme:
    def liste_chiffres(n):
        L=[]
        while(n>0):
            r=n%10
            L.append(r)
            n=n//10
        return L
    print(liste_chiffres(1472)) #résultat inverse
    0
    1. Chris 94 Messages postés 1937 Date d'inscription   Statut Modérateur Dernière intervention   7 536
       
      Bonjour,

      Pense à attribuer à ton code la couleur syntaxique et la forme correcte avec le bouton
      <>
      .
      0
    2. adrien
       
      ok merci
      0
  2. jee pee Messages postés 9437 Date d'inscription   Statut Modérateur Dernière intervention   9 973
     
    Bonjour,

    L.append(x)
    ajoute en fin de liste, mais il existe une autre instruction sur les listes qui permet d'ajouter en début de liste. Effectue une recherche sur le traitement des listes.

    Cdlt
    0
    1. adrien
       
      ok je vais voir ca, ca permettra donc d'inverser le sens pour lequel les chiffres entrent dans la liste
      merci
      0