Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/09/2005, à 19:03

anonyme1

[résolu] Création d'un petit programme

Salut:

je cherche à créer un petit programme qui permettrait, à partir d'une liste issue d'un fichier txt (composée par ex. des éléments A,B,C, ........, Z) de tirer un élément au sort (A par exemple) puis dans un second de tirer un autre élément de liste restante (tous sauf le A) etc ... jusqu'à ce que tous les éléments soien tirés...

Je n'ai malheureusement aucune notion solide de programmation, je fais donc appel à vos compétences.

Merci

Dernière modification par redrum (Le 05/01/2009, à 19:09)

#2 Le 27/09/2005, à 19:55

tshirtman

Re : [résolu] Création d'un petit programme

euuuuuuuuu on est pas sur un forum de programmation mais si tu sais un peu programmer en c
des recherches sur le web devrait t'aider, je te donne deux trois pistes,
tu as les commandes

fopen :pour ouvrir un fichier, et le faire pointer sur un pointeur de type FILE (fait attention a l'ouvrir en LECTURE ...)

getc :pour lire le caractère suivant de ton fichier (et avancer), (tu peut tout charger dans un tableau par exemple)

rand :pour tirer un nombre aléatoire...(il faut l'initialiser d'abords , tu trouveras je pense)


bon courage, mais rappel toi, on apprend pas a programmer en 1 jour! (sinon ce serait pas un métier)

Dernière modification par tshirtman (Le 27/09/2005, à 19:59)

Hors ligne

#3 Le 27/09/2005, à 20:31

rihegher

Re : [résolu] Création d'un petit programme

pour un ptit programme comme celui ci pourquoi en bash?

sans avoir des notions tres solides tu peux avoir une idee de ce que tu peux faire avec ce petit guide:
http://www.bsdbooks.net/shells/scripting/fr/

j aime bien le c mais pour des tout petit programme le bash est souvent suffisant et moins lourd a mettre en place car pas de compilation

Hors ligne

#4 Le 27/09/2005, à 20:56

crypto178

Re : [résolu] Création d'un petit programme

bah c'est pas la peine de sortir la grosse artillerie, 5 minutes de magie pythonienne :

import sys
from random import randrange
f = open(sys.argv[1],"r")
donnees = f.read().strip("\n").split(", ")
while len(donnees) > 1:
	print donnees.pop(randrange(len(donnees)))
print donnees.pop()
f.close()

tu met ça dans un fichier que tu nommes en .py, comme par exemple randompick.py

puis tu crées un fichier avec tes données  séparées par des virgules et un espace :

A, B, C, D, E, F

tu sauves ça dans un fichier texte

et puis tu tappes dans un terminal

python randompick.py donnees.txt

et voilà, à chaque fois que tu tappes la commande ça devrait sortir les donnees dans un ordre different!

c'était pas bien compliqué smile

EDIT:
une autre version si tu souhaites avoir tous les resultats sur la même ligne

import sys
from random import shuffle
f = open(sys.argv[1],"r")
donnees = f.read().strip("\n").split(", ")
shuffle(donnees)
print ", ".join(donnees)

Dernière modification par crypto178 (Le 27/09/2005, à 21:01)

Hors ligne

#5 Le 27/09/2005, à 21:35

anonyme1

Re : [résolu] Création d'un petit programme

super, un grand merci pour ce coup de main ....
le python c un peu du chinois pour moi ...

et si le fichier source est la feuille n°1 d'un fichier gnumeric ?

A = valeur de la cellule A1
B = valeur de la cellule B1 ......

et on souhaite imprimer le résultat dans la feuille n°2 du même fichier ?

1ere valeur tirée = valeur de la cellule A1
2eme valeur tirée = valeur de la cellule B1 ......

Dernière modification par redrum (Le 27/09/2005, à 21:38)

#6 Le 27/09/2005, à 22:19

crypto178

Re : [résolu] Création d'un petit programme

ah gnumeric je ne connais pas du tout, il faudrait que tu me donnes un peu plus d'infos sur le format de ces fichiers.

Hors ligne