Générer une liste d'élément
bilaiz
-
heyquem Messages postés 808 Statut Membre -
heyquem Messages postés 808 Statut Membre -
Bonjour,
L'idée c'est de générer une liste d'élément dont ceux ci se nomme Minicarre xyz et dont les valeurs en x varient entre 2 et 6, en y entre 2 et 8 et en z entre 0 et 2. Comment puis-je faire?
x=random.randint (2,7)
y=random.randint (2,9)
z=random.randint (0,3)
element_delete_liste1 = "(Minicarre {0}x {1}y {2}z)".format(x,y,z)
print (element_delete_liste1)
Quand je fais ceci, j'obtiens juste un élément des 105 éléments souhaité.
L'objectif désiré est une liste d'élément donnant quelque chose comme ceci:
(Minicarre 0x, 0y,0z), (Minicarre 1x, 0y,0z), (Minicarre 2x, 0y,0z), (Minicarre 3x, 0y,0z),...
(Minicarre 0x, 1y,0z), (Minicarre 0x, 2y,0z), (Minicarre 0x, 3y,0z), (Minicarre 0x, 4y,0z),...
(Minicarre 0x, 0y,1z), (Minicarre 0x, 0y,2z), (Minicarre 0x, 0y,3z), (Minicarre 0x, 0y,4z),...
(Minicarre 1x, 1y,0z), (Minicarre 2x, 1y,0z), (Minicarre 3x, 1y,0z), (Minicarre 4x, 1y,0z),...
etc
etc
etc
En espérant que vous puissiez m'aider,
Merci d'avance
L'idée c'est de générer une liste d'élément dont ceux ci se nomme Minicarre xyz et dont les valeurs en x varient entre 2 et 6, en y entre 2 et 8 et en z entre 0 et 2. Comment puis-je faire?
x=random.randint (2,7)
y=random.randint (2,9)
z=random.randint (0,3)
element_delete_liste1 = "(Minicarre {0}x {1}y {2}z)".format(x,y,z)
print (element_delete_liste1)
Quand je fais ceci, j'obtiens juste un élément des 105 éléments souhaité.
L'objectif désiré est une liste d'élément donnant quelque chose comme ceci:
(Minicarre 0x, 0y,0z), (Minicarre 1x, 0y,0z), (Minicarre 2x, 0y,0z), (Minicarre 3x, 0y,0z),...
(Minicarre 0x, 1y,0z), (Minicarre 0x, 2y,0z), (Minicarre 0x, 3y,0z), (Minicarre 0x, 4y,0z),...
(Minicarre 0x, 0y,1z), (Minicarre 0x, 0y,2z), (Minicarre 0x, 0y,3z), (Minicarre 0x, 0y,4z),...
(Minicarre 1x, 1y,0z), (Minicarre 2x, 1y,0z), (Minicarre 3x, 1y,0z), (Minicarre 4x, 1y,0z),...
etc
etc
etc
En espérant que vous puissiez m'aider,
Merci d'avance
A voir également:
- Générer une liste d'élément
- Liste déroulante excel - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Comment générer un qr code - Guide
- Generer mot de passe - Télécharger - Sécurité
1 réponse
Bonjour,
Tu confonds
Note aussi que
contrairement à
NB:
L'instruction avec
L'expression après li = est une list comprehension
Tu confonds
randint()et
range().
Note aussi que
randint(2,7)délivre au hasard l'un des entiers 2,3,4,5,6,7,8,9 , c'est à dire que le 9 est compris comme valeur possible,
contrairement à
range(2,9)qui est
[2, 3, 4, 5, 6, 7, 8].
NB:
xrange()est un générateur: il ne délivre ses élements que si on le sollicite avec la méthode
next()ou par une boucle
for.
import random
li = ["(Minicarre {0}x {1}y {2}z)".format(x,y,z)
for x in xrange(2,7)
for y in xrange(2,9)
for z in xrange(0,3)]
print li
print len(li)
random.shuffle(li)
print li
L'instruction avec
shuffle()est là pour montrer comment obtenir les éléments dans un désordre stochastique
L'expression après li = est une list comprehension