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
1 réponse
-
Bonjour,
Tu confondsrandint()
etrange()
.
Note aussi querandint(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éthodenext()
ou par une bouclefor
.
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
print li
L'instruction avecshuffle()
est là pour montrer comment obtenir les éléments dans un désordre stochastique
L'expression après li = est une list comprehension