Nous sommes le Lun 20 Oct, 2014 09:07
Supprimer les cookies

Tirage au sort

Pour une tâche précise, pour remplacer un logiciel propriétaire donné...

Dim 24 Mars, 2013 12:16

Bonjour à tous les libristes,
je suis à la recherche d'un logiciel permettant de tirer au sort un ou des éléments à partir d'une liste.

En vous remerciant par avance = )
HL //
HomoLogicius

Messages : 4

Dim 24 Mars, 2013 17:32

Bonjour,

en python, par exemple, il est facile de se faire un programme sur mesure:

yves@dell3:~/asup$ cat monProgramme.py
Code: Tout sélectionner
import random
liste1 = [1,4,9,15]
print random.choice(liste1)
liste2 = ['pomme','poire','cerise']
print random.choice(liste2)

yves@dell3:~/asup$ python monProgramme.py
Code: Tout sélectionner
9
poire
yves97

Messages : 55

Dim 24 Mars, 2013 20:19

Bonsoir à tous,

L’idée de Python est bien mais encore faut-il avoir des notions de programmation (ce qui d’ailleurs peut aussi être une bonne entrée en matière).

Une autre idée est de se servir du tableur « Calc » d’« Open/LibreOffice ».

  • Donc, pour exemple, à partir de la cellule « A1 » et en suivant la colonne « A » (« A2 », « A3 », « A4 », &c.), taper « Patin », « Couffin », « Truc », « Muche », « Bidule » et « Chouette ».
  • En « B1 » taper la formule : « =DECALER(A1; ENT(ALEA()*LIGNES(A1:A6)); 0) » (sans les guillemets).
La touche [F9] réactualise le tirage. On peut même imaginer quelqu’un qui ne la lâche qu’au signalement d’une autre personne qui ne visualise pas l’écran. On peut aussi mettre en page ce machin, et le personnaliser de façon agréable. L’insertion de nouveaux éléments dans la liste est également très aisée.

C’est une idée parmi d’autres ; évidemment.
:-)
Sébastien Cosson

Avatar de l’utilisateur
Messages : 19
Géo : Meymac (19250)

Dim 24 Mars, 2013 22:54

L’idée de Python est bien mais encore faut-il avoir des notions de programmation (ce qui d’ailleurs peut aussi être une bonne entrée en matière).


Pour coller encore un peu mieux aux spécifications, voici une amélioration du programme:

yves@dell3:~/asup$ cat monProgramme.py
Code: Tout sélectionner
import random
liste1 = [1,4,9,15]
print random.choice(liste1)
liste2 = ['pomme','poire','cerise','banane','fraise']
print random.choice(liste2)
print "****"
print random.sample(liste2, 2)

yves@dell3:~/asup$ python monProgramme.py
Code: Tout sélectionner
1
fraise
****
['cerise', 'banane']




Pour aller plus loin, il faudrait des spécifications plus détaillées.
Dernière édition par fat115 le Lun 25 Mars, 2013 18:43, édité 1 fois au total.
Raison: ajout de balises code
yves97

Messages : 55

Lun 25 Mars, 2013 11:07

Bon ce qui est important
1) la taille de ta liste...
2) veux tu que cela soit aléatoire, très aléatoire, vraiment aléatoire....

Pour le vraiment aléatoire... ce n'est pas possible car les algorithmes sont déterministes.... mais dans la grande majorité des cas on s'en fout un nombre pseudo aléatoire suffit.
Les systèmes réels donnent plus de hasard, c'est pourquoi on utilise en fait des systèmes reposant sur des phénomènes physiques
Une idée toute con (pardon) pour avoir un nombre aléatoire entre 1 et 60 .... lire l'horloge du PC, en particulier les secondes...

Sinon le générateur de nombre aléatoire de ton tableur est suffisant
il te retourne un nombre dont tu définis les bornes (entre 1 ou 0 attention et un maximum)
ensuite tu te sers de ce nombre comme index numéro d'ordre dans ta liste....
patricegendreau

Messages : 29

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Frank