Générer des nombres unique

Résolu
moonracker0210 Messages postés 3 Date d'inscription dimanche 31 décembre 2000 Statut Membre Dernière intervention 9 octobre 2009 - 9 oct. 2009 à 14:38
moonracker0210 Messages postés 3 Date d'inscription dimanche 31 décembre 2000 Statut Membre Dernière intervention 9 octobre 2009 - 9 oct. 2009 à 15:55
Bonjour à tous.

Je cherche à générer une liste de nombre allant de 1 à 54. Jusque la, pas de soucis. Mais j'aimerais que cette liste contiennent des nombres uniques.

Existe t-il une fonction permettant de générer des nombres aléatoire qui ne sont pas encore sortis ? ou faut-il à chaque fois tester si la valeur existe déjà, et relancer le random ?

Merci pour votre attention
A voir également:

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 oct. 2009 à 15:49
Salut,

C'est tout bête :
Tu crée une liste :
tableau = [1, 2, 3, 4, 5, 6, 7, 8, ...]

Tu tire au hasard un nombre entre 1 et la taille du tableau, et tu récupère l'élément à l'index du nombre généré, par exemple
index 5 // nombre aléatoire 5
Donc ton nombre devient :
tableau[5] // => nombre à ajouter = 7

et tu supprime le nombre à l'index 5 de ton table, qui devient du coup :
[1, 2, 3, 4, 6, 7, 8, ...]

Et ainsi de suite...
index 6 // nombre aléatoire 6
Donc ton nombre devient :
tableau[6] // => nombre à ajouter = 7
et ton tableau devient :
[1, 2, 3, 4, 6, 8, ...]

etc. etc.

______________________________________
DarK Sidious
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 oct. 2009 à 15:28
Salut,

La solution est bien plus simple : tu génère une première liste contenant les chiffres de 1 à 54, puis tu récupère un des nombres aléatoirement par son index, et tu le supprime de la liste, et tu recommence jusqu'à ce qu'il n'y ait plus de nombre dans la liste, ainsi tu obtiens une liste aléatoire de nombre unique.
______________________________________
DarK Sidious
0
moonracker0210 Messages postés 3 Date d'inscription dimanche 31 décembre 2000 Statut Membre Dernière intervention 9 octobre 2009
9 oct. 2009 à 15:44
Tout d'abord, merci de m'avoir répondu aussi rapidement

J'ai un peu du mal à suivre ton raisonnement, surtout quand tu parles de récupérer l'indice d'un nombre (de manière aléatoire), de le supprimer, et de boucler, jusqu'à ce qu'il n'y ait plus de nombre.

Tu aurais un exemple, en code, à me donner?

Merci
0
moonracker0210 Messages postés 3 Date d'inscription dimanche 31 décembre 2000 Statut Membre Dernière intervention 9 octobre 2009
9 oct. 2009 à 15:55
Merci, je vais tester ça. Bonne journée
0
Rejoignez-nous