Générer des nombres unique [Résolu]

moonracker0210 3 Messages postés dimanche 31 décembre 2000Date d'inscription 9 octobre 2009 Dernière intervention - 9 oct. 2009 à 14:38 - Dernière réponse : moonracker0210 3 Messages postés dimanche 31 décembre 2000Date d'inscription 9 octobre 2009 Dernière intervention
- 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
Afficher la suite 

4 réponses

Répondre au sujet
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 9 oct. 2009 à 15:49
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_DARKSIDIOUS
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 9 oct. 2009 à 15:28
0
Utile
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
Commenter la réponse de cs_DARKSIDIOUS
moonracker0210 3 Messages postés dimanche 31 décembre 2000Date d'inscription 9 octobre 2009 Dernière intervention - 9 oct. 2009 à 15:44
0
Utile
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
Commenter la réponse de moonracker0210
moonracker0210 3 Messages postés dimanche 31 décembre 2000Date d'inscription 9 octobre 2009 Dernière intervention - 9 oct. 2009 à 15:55
0
Utile
Merci, je vais tester ça. Bonne journée
Commenter la réponse de moonracker0210

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.