Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/04/2016, à 17:15

msg21

RESOLU récupérer les unités d'un nombre entier dans une liste

Bonjour,

Je vous prie de bien  vouloir m'aider pour résoudre ce problème :

Je veux récupérer  les unités d'un nombre entier de i unités dans une liste

exemple pour 4593   je veux trouver la liste L=[4,5,9,3]

Merci d'avance

Dernière modification par msg21 (Le 30/04/2016, à 23:58)

Hors ligne

#2 Le 29/04/2016, à 18:02

pingouinux

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

Bonjour,
Dans quel langage ?
Si c'est en python

>>> L=list('4593'); L
['4', '5', '9', '3']

ou bien

>>> L=map(int,'4593'); L
[4, 5, 9, 3]

Dernière modification par pingouinux (Le 29/04/2016, à 18:04)

Hors ligne

#3 Le 29/04/2016, à 18:16

msg21

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

pingouinux a écrit :

Bonjour,
Dans quel langage ?
Si c'est en python

>>> L=list('4593'); L
['4', '5', '9', '3']

ou bien

>>> L=map(int,'4593'); L
[4, 5, 9, 3]

je vais essayer ça merci

Hors ligne

#4 Le 29/04/2016, à 18:26

msg21

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

je veux comme ceci

n =int(input())
for i in range(0,n):
		L=list(i); L
print L		

mais ça marche pas

Dernière modification par msg21 (Le 29/04/2016, à 18:27)

Hors ligne

#5 Le 29/04/2016, à 18:40

grigouille

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

Dans quelle base ?


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#6 Le 29/04/2016, à 18:43

pingouinux

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

mais ça marche pas

Je répète ma question : quel langage utilises-tu ?
Qu'essayes-tu de faire ? Peux-tu donner un exemple ?
Quel est le retour ?

Hors ligne

#7 Le 29/04/2016, à 19:03

MicP

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

Sans savoir quel langage utiliser…ça va être très très très long de tous les énumérer.

=======
Au cas où le langage soit bash :

michel@debg53sw:~/tst$ maChaine="4593"
michel@debg53sw:~/tst$ [[ "$maChaine" =~ ${maChaine//?/(.)} ]]
michel@debg53sw:~/tst$ declare -a tablCars=("${BASH_REMATCH[@]:1}")
michel@debg53sw:~/tst$ echo "${tablCars[0]} puis ${tablCars[1]} puis ${tablCars[2]} puis ${tablCars[3]}"
4 puis 5 puis 9 puis 3
michel@debg53sw:~/tst$ for car in ${tablCars[@]}; do echo ${car}; done
4
5
9
3
michel@debg53sw:~/tst$ 

Hors ligne

#8 Le 29/04/2016, à 19:12

Postmortem

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

Salut,

MicP a écrit :

Au cas où le langage soit bash :

michel@debg53sw:~/tst$ maChaine="4593"
michel@debg53sw:~/tst$ [[ "$maChaine" =~ ${maChaine//?/(.)} ]]
michel@debg53sw:~/tst$ declare -a tablCars=("${BASH_REMATCH[@]:1}")
michel@debg53sw:~/tst$ echo "${tablCars[0]} puis ${tablCars[1]} puis ${tablCars[2]} puis ${tablCars[3]}"
4 puis 5 puis 9 puis 3
michel@debg53sw:~/tst$ for car in ${tablCars[@]}; do echo ${car}; done
4
5
9
3
michel@debg53sw:~/tst$ 

Alors ça, fallait y penser... J'aime bien !


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#9 Le 29/04/2016, à 20:24

grigouille

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

MicP a écrit :
michel@debg53sw:~/tst$ maChaine="4593"

Sauf que maChaine n'est pas un entier.


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#10 Le 29/04/2016, à 23:06

Postmortem

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

grigouille a écrit :
MicP a écrit :
michel@debg53sw:~/tst$ maChaine="4593"

Sauf que maChaine n'est pas un entier.

C'est quoi alors ? Une chaîne de caractères ?
En bash, tout dépend de ce qu'on fait de la variable, comme dans awk, c'est pas "typé"... Quoiqu'en bash, on peut dire qu'une variable soit typée entier, mais c'est le seul type qu'on peut donner il me semble.


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#11 Le 30/04/2016, à 00:20

msg21

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

merci, j'ai trouvé ça :

map(int,list( str( n )))

Dernière modification par msg21 (Le 30/04/2016, à 00:30)

Hors ligne

#12 Le 30/04/2016, à 06:05

pingouinux

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

En python2

n=input()
L=map(int,str(n))
print(L)

En python3

n=input()
L=list(map(int,n))
print(L)

Remarque : Il n'était pas interdit de répondre aux questions de ceux qui t'ont aidé

Hors ligne

#13 Le 30/04/2016, à 15:24

MicP

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

Sauf que maChaine n'est pas un entier.

Bon, alors voilà :

michel@debg53sw:~$ monEntier=$(( 9186 / 2 ))
michel@debg53sw:~$ [[ "$monEntier" =~ ${monEntier//?/(.)} ]]
michel@debg53sw:~$ declare -a tablChiffres=("${BASH_REMATCH[@]:1}")
michel@debg53sw:~$ echo "${tablChiffres[0]} puis ${tablChiffres[1]} puis ${tablChiffres[2]} puis ${tablChiffres[3]}"
4 puis 5 puis 9 puis 3
michel@debg53sw:~$ for chiffre in ${tablChiffres[@]}; do echo ${chiffre}; done
4
5
9
3
michel@debg53sw:~$ 

http://tldp.org/LDP/abs/html/untyped.html

Dernière modification par MicP (Le 30/04/2016, à 15:45)

Hors ligne

#14 Le 30/04/2016, à 15:47

grigouille

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

Respect MicP. Merci pour le lien aussi.


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#15 Le 30/04/2016, à 16:04

credenhill

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

hello
autre méthode bash only

$ c=$(( 9186 / 2 ))
$ unset t; while [ ${#t[@]} -lt ${#c} ]; do t[${#t[@]}]=${c:${#t[@]}:1}; done
$ printf "%d\n" ${t[@]}
4
5
9
3

Hors ligne

#16 Le 30/04/2016, à 16:49

MicP

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

@ grigouille J'aime beaucoup la parenthèse en bas de page du lien que j'ai donné dans mon dernier message
Ne pas oublier non plus que bash, c'est que de la colle pour relier des programmes entre eux.

=======
Ooops! C'est là que je me rends compte que j'avais oublié de faire un unset tablChiffres avant le declare -a tablChiffres
Et tant qu'à faire, j'aurai dû aussi faire de même pour la variable monEntier :
unset monEntier puis declare -i monEntier=$(( 9186 / 2 ))

Merci credenhill wink

Dernière modification par MicP (Le 30/04/2016, à 16:51)

Hors ligne

#17 Le 30/04/2016, à 20:52

msg21

Re : RESOLU récupérer les unités d'un nombre entier dans une liste

Merci à  vous tous pour votre aide. J ai pas  repondu hier à  temps car j étais  absent

Hors ligne