Liste des chiffres extraits d'un nombre

Fermé
adrien - 3 nov. 2019 à 14:21
 adrien - 3 nov. 2019 à 17:57
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

Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 337
Modifié le 3 nov. 2019 à 14:55
0
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
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 337
3 nov. 2019 à 16:02
Bonjour,

Pense à attribuer à ton code la couleur syntaxique et la forme correcte avec le bouton
<>
.
0
ok merci
0
jee pee Messages postés 40500 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 29 novembre 2024 9 436
Modifié le 3 nov. 2019 à 16:15
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
ok je vais voir ca, ca permettra donc d'inverser le sens pour lequel les chiffres entrent dans la liste
merci
0