Générer une liste d'élément
bilaiz
-
heyquem Messages postés 759 Date d'inscription Statut Membre Dernière intervention -
heyquem Messages postés 759 Date d'inscription Statut Membre Dernière intervention -
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 déroulante en cascade - Guide
- Liste code ascii - Guide
- Generer mot de passe - Télécharger - Sécurité
- Comment générer un qr code - Guide
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