Choisissez au hasard un élément dans une liste et supprimez celui choisi pour le tour suivantSalut tout le monde,
J'ai une liste [1,2,3,4,5,6,7,8,9,10] que je veux choisir au hasard un élément, puis supprimer cet élément de la liste pour la prochaine sélection aléatoire. Je dois répéter les sélections 4 fois.
Existe-t-il un moyen simple de supprimer l'élément sélectionné dans la liste ? Supprimer et Supprimer de ont tous deux besoin du ième index des éléments.
Merci pour votre aide.
Automatisation et scriptRe : Choisissez au hasard un élément dans une liste et supprimez celui qui a été choisi pour le tour suivantUne version éditée de @Jeff_Perkinson version, qui utilise la valeur de retour Supprimer de (elle renvoie la valeur des éléments supprimés sous forme de liste). Ce code n'est peut-être pas aussi facile à lire, mais il est parfois utile d'utiliser la valeur de retour de Remove From :
Names Default To Here(1);
theList = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j"};
While(N Items(theList) > 1,
// returns list of removed elements, we remove one value, so get first index
r_val = Remove From(theList, Random Integer(N Items(theList)))[1];
Print(Eval Insert("The chosen item was ^r_val^."));
);
Print("The chosen item is " || theList[1] || ".");Re : Choisissez au hasard un élément dans une liste et supprimez celui qui a été choisi pour le tour suivantVous pouvez également utiliser Random Shuffle pour randomiser la liste (matrice), puis boucler quatre fois sur la liste aléatoire (matrice) ou choisir les quatre premiers éléments.
Names Default To Here(1);
m = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
m_rand = Random Shuffle(m);
Show(m, m_rand);
Re : Choisissez au hasard un élément dans une liste et supprimez celui qui a été choisi pour le tour suivantEst-ce que quelque chose comme ça fonctionnerait?
theList = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j"};
while(nitems(theList) > 1,
r=random integer(nitems(theList));
print("The chosen item was " || theList[r] || ". Element number " || char(r) || ".");
remove from(theList, r);
);
print("The chosen item is " || theList[1] || ".");