SIMULATION DE LOTO

Shakan972 Messages postés 43 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 17 avril 2015 - 8 mai 2007 à 16:25
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 - 25 avril 2012 à 19:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42621-simulation-de-loto

aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
25 avril 2012 à 19:55
Guillaume06 : Bah oui, une interface bien conçu c'est long à faire !

Corrige ton code sur le faux calcul de fréquence de CPU plutôt !
Guillamue06 Messages postés 157 Date d'inscription dimanche 18 avril 2004 Statut Membre Dernière intervention 11 juillet 2022 4
22 avril 2012 à 23:16
999 lignes de code pour un "tirage" de nombre aléatoire avec une pauvre interface graphique ?
Utilisateur anonyme
8 févr. 2009 à 09:18
Salut,
Je vais être franc je ne les pas lutta source car dès que j'ai vue les module que tu importer et qu'il y avait du graphique j'ai même pas chercher a aller plus loin...
Et je tais demander comment tu faisait pour générer un nombre aléatoire car le loto c'est un peu ça ^^ ...car j'ai programmer un petit truc qui pose une question complètement aléatoire qui se trouve dans une liste et ensuite e reprend se nombre aléatoire pour prendre la réponse dans une autre liste(évidement le nombre de la question et de la réponse dans les deux liste correspondent) et puis j'ai ajouté une condition pour la comparaison...pour le nombre aléatoire je me suis servi de random comme module mais a mon avis toi c'est le module Loto (en tout cas sa me paraît logique(tu la écrit indirectement)).

@+
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
7 févr. 2009 à 22:10
Ce n'est pas un problème de version de Python, mais un problème de module : WxPython. C'est une bibliothèque graphique, qui n'est pas de base dans python. Regarde le cadre "conclusion" pour voir comment l'installer.

Connaitre des systèmes électroniques, c'est commencer à la base ! Actuelement, tu utilse Python sans comprendre ce qui se passe réelement, tu n'as aucune idée de la façon dont Python foncionne principalement parce que tu ne sais pas comment fonctionne un micro processer. En sachant comment cela marche, tu comprends mieux, et donc tu as une vision plus global des choses.
La programmation, c'est l'art d'apprendre à une machine a faire ce que l'on attend d'elle. Ca ne s'apprend pas dans les livres. Je te pose une colle (definition : execice difficile) : comment ferais tu pour créer un logiciel pernettant de créé un emploie du temps des classes d'un Lycée ?
Personnellement j'y ai déjà réfléchis, ca demende une analyse poussé, mais aucune connaissance technique pour établir les grandes lignes ...

Trouver ces solutions n'est pas donné à tous le monde certaines personnes ont un espris plus orienté dans ce sens d'autres préfère étudier Molière ... Comme dirait mon prof, certaine personnes ont "une sorte de 2ème vue parralèle" où le problème se résout de lui même !

Ensuite, pour faire des programme plus poussé, une connaissance d'un pc ou d'un micro est necessaire : je pense à la programmation machine (robotique) ou pour serveur Web.

Inutile de vouloir allez trop vite, cette source demende une connaissance des classes ...
Utilisateur anonyme
7 févr. 2009 à 16:54
Salut,
J'ai commencer a lire le livre de Gérard Swinnen il y a un petit moment le problème j'ai trop de devoir a ratrapper a cause d'un mauvais prof de math et j'ai la galère des autre devoirs à côtés...
A mon avis je ne peu pas le lire car je n'ait pas la bonne version de python ( moi j'ai 3.0.quelque chose) et il me manque un module :
Traceback (most recent call last):
File "C:\Documents and Settings\Compaq_Propriétaire\Bureau\Loto-GUI.pyw", line 1, in <module>
import wx
ImportError: No module named wx

Je te demander a quel âge tu avais commencer la prog car moi j'ai 14 ans et je commence la prog depuis novembre et python depuis décembre et je me demande a peu près combien de temps il faut pour atteindre un nivo tel que le tient...
Je ne comprend comment tu peu connaitre plus de chose en programmation en apprenant sur les systèmes électronique (?????)
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
7 févr. 2009 à 16:41
Bonjour Lutcho74, pour les nombres aléatoires, je te renvoie page 140 du livre de Gérard Swinnen que tu as gratuitement à cette adresse :http://www.cifen.ulg.ac.be/inforef/swi/download/python_notes.pdf
Il peut également te servir pour commencer avec Python !

Personnellement j'ai commencer Python en 2nd (15/16 ans je ne sais plus), mais j'ai commencer à programmer vers 12 ans. L'age n'est pas important, je me rend compte que plus le temps passe, plus je sais faire de chose, mais c'est grâces à de meilleurs connaissance des systèmes électroniques, pas de programmations.
Je ne comprend pas pourquoi tu ne peux pas utiliser mon code ? La partie sur les nombres aléatoires est ici : http://files.codes-sources.com/fichier.aspx?id=42621&f=Loto+(par+A%e9ra+Group)+%5bMise+%e0+jour+-+1%5d%5cLoto.py)
_________________
Aéra, what else ?
Utilisateur anonyme
4 févr. 2009 à 16:48
j'ai oublier un morceau a mon commentaire --' donc comment as tu fait pour générer se nombre aléatoire si c'est comme sa que sa marche...
Utilisateur anonyme
4 févr. 2009 à 16:47
Je n'ai pu utiliser ta source car je n'ait pas le bon python mais j'aurais bien aimé essayer...juste comme sa pour ton loto tu as bien dut utiliser des nombre aléatoire je ne sais pas comment sa marche avec WxPython moi j'utilise Python 2.6.1 et je ne m'y connais que très peu en prog j'ai commencer en novembre...:)
A quel âge as tu commencer la programmation AERA GROUP ?
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
29 févr. 2008 à 16:09
On fait ce que l'on peut !!! Vive l'aurtaugrafe
Mario1095 Messages postés 168 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 6 mai 2009 1
29 févr. 2008 à 12:10
Au sinon cool le programme
Mario1095 Messages postés 168 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 6 mai 2009 1
29 févr. 2008 à 12:10
Pas mal le programme.
En tout cas, il est meilleur que ton orthographe.
Tu es déja parti à l'école ?
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
30 juin 2007 à 19:00
Bonjour TMONOD et merci pour ton commentaire très enrichissant !
En effet le code n'est pas très lisible, mais c'est en grande partie du à la longueur des instructions pour créé l'interface graphique (même si on pourrait en effet simplifier ces instructions par une classe regroupant tous les messages d'erreurs etc... comme tu le propose dans ton commentaire). Par contre, la "gestion de l'interface et de la logique même du programme" sont assez bien séparé je trouve : tous ce qui conserne le tirage du Loto se trouve dans le module "Loto.py" et l'interface et la gestion du joueur se trouve dans "Loto-GUI.py".
En effet, on peut facilement simplifier le code avec les "box1,box2", mais j'ai fais délibérément cette "erreur" car mon but ici de montrer l'interface avec WxPython (le loto n'a aucun interré, on est bien d'accord, c'est le "jeu" le plus nul que l'on puisse imaginer reproduir sur PC !!! Honte à moi ;) ) et donc, une simplification du code le rendrait encore plus difficile à comprendre pour les novices en WxPython (allez voir mon Tutoriel pour un peu d'aide).
Enfin, lorsque l'on créé un programme, la coutume est de toujours respecter les mêmes régles de sauvegarde pour des questions évidente de contabilité. Cela impose évidament de prévoir toute les éventualités de sauvegarde (exemple, rajouté une option ...). C'est ce que j'ai fait donc théoriquement, le répertoire de sauvegarde devrait toujours être quelque soit la version "Loto-data\Utilisateur.txt" même s'il est préférable de le noter dans une variable une fois pour toute pour pouvoir la modifier au cas où.
Voila, j'espère que j'aurais assez bien répondu à ton messageet que tu en aura compris l'essentiel. Bonne continuation à toi.
_____
Aéra
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
30 juin 2007 à 12:58
Hello,
- Bravo pour la maitrise de wxPython, j'ai moi-même toujours été rebutté par cette bibliothèque. - Malheureusement c'est la plus aboutie.Il faut faire avec.

- Par contre, pas bravo pour l'organisation de ton code, c'est un gros mélange de gestion de l'interface et de la logique même du programme.
- Beaucoup de redondance de code, Python est super fort pour gérer les listes alors il ne faut pas se priver pour arrêter de répeter les box1,box2 et autres l1,l2,l3 etc... le code et la maintenance n'en serons que plus clairs
- Ton code contenant beaucoup de messages texte, tu aurais tout interêt à les organiser dans un module voire même une classe avec des dictionnaires par thèmes , erreurs, titres). Ainsi tu les utiliserais directement dans ton code :
exemple :
label = wx.StaticText(self, -1, "Enter le nom du nouveau joueur")
deviendrait :
label = wx.StaticText(self, -1, LotoMessages.infos["NouveauJoueur"])

comme ca le jour ou tu veux utiliser plusieurs langues dans ton programme ca se fera finger in the nose.

- Pareil pour tous les chemins comme "Loto-data\Utilisateur.txt" qui pourraient ainsi être facilement modifiées quand ton code évolue

Sinon bonne continuation !
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
9 mai 2007 à 18:44
Tous d'abors, je voudrais te remercier pour ton message très agréable.

Et oui, Python n'est pas un language très répendu actuelement. Enfin, ce n'est pas tout à fait vrai, Python est présent dans de nombreux programme mais généralement sous forme de sous programme comme pour Windows ou Google. Mais je suis assez surpris de savoir que certain programme utilise Python intégralement (enfin, je suppose mais d'après mes infos, c'est le cas - corrigez moi en cas d'erreur de ma par) comme Bender, les jeux Civilization IV et Battlefield 2142. Python est un language assez récents (1990) par rapport au C++ (1980) et C (1970) ce qui explique en partit sont que aujourd'hui peu de jeu utilise Python. Mais notre bon language de programmation à de beau jour devant lui !!! En effet, Python commence à s'imposé de plus en plus dans le monde de la programmation, même s'il ne détronerra (à mon avis) jamais C++ bien instalé en haut des languages de programmation. Tu nous parle de Visual Basic. C'est sans aucun doute le logiciel le plus utilisé en programmation aujourd'hui car il permet de créé une interface graphique en générant un code BASIC. Mais le basic est un language en perte de vitesse car ses concurrent le prennent de vitesse comme le Pascal, le C++, le Java et le .... Python ! Et oui, nous avons un language d'avenir, tout Java qui est également en train de se dévellopé à grande vitesse (et pas selement sur le Web). Pour conclure sur ce point, je dirais que Python ne pourra se dévellopé sans une intégration complette de l'unicode, mais aussi par le création d'une bibliothèque graphique très performante (comparrez ce que vous pouvez faire avec WxPython et l'interface de la nouvelle gamme office 2007).


"je suis content qu'il y ai quelqu'un comme toi" ==> Je suis très touché que tu me tienne si grande estime, mais je ne suis pas le seul. En tous cas, ça fait toujours plaisir quand quelqu'un dit du bien de soi, on à l'impression de servire à quelque chose

"si tu ne le fais pas je ne pense pas que quelqu'un le feras" ==> Triste vérité, peu être également que tout le monde ne tiens pas à faire évolué le site. Dommage, quand j'ai débuté avec WxPython, j'ai bien galléré et je n'ai pas trouvé d'aide sur ce site.

"j'espère donc que tu apporteras de bonnes choses" ==> Moi aussi ! Que les autres en face également à leur niveau bien sûr

"j'espère ne pas te paraître un peu cinglé" ==> Pas pour moi en tous cas

"tu comprendras le fond de ma pensée" ==> Bien sûr que je l'ai comprise. Encore merci

J'espère ne pas avoir fait trop de faute d'orthographes. Bonne programmation à tous.
_____
Aéra
Shakan972 Messages postés 43 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 17 avril 2015
9 mai 2007 à 15:49
Quand je lis ton message Aera group je peux voir à quel point tu es motivé et à quel ton intérêt pour la programmation est grand.
Cela me touche et je suis content qu'il y ai quelqu'un comme toi sur cette partie du site car vois-tu python n'a pas une réputation en béton et est plutôt délaissé d'après ce que je vois bref c'est la raison pour laquelle tu as la possiblité de remplir le site de tutos concernant wxPython car vois-tu si tu ne le fais pas je ne pense pas que quelqu'un le feras c'est la vérité et je ne pense pas avoir tort en disant ça.

Non mais regarde un peu la réalité c'est surtout le langage C et Visual Basic qui dominent, python on en a que faire.
C'est donc la raison pour laquelle je constate à quel point ta présence est précieuse sur cette partie du site, j'espère donc que tu apporteras de bonnes choses après tout pythonneux que nous sommes nous devons bien ça à notre langage Python. :)

Donc j'espère ne pas te paraître un peu cinglé et j'espère que tu comprendras le fond de ma pensée.

Sinon reste motivé comme tu le fais si bien ;)
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
9 mai 2007 à 12:02
Boujour,

1. Merci pour ta note et ton commentaire (je suis tout à fait d'accord, une simulation de loto c'est complétement bidon :) !!!). C'est vraiment bizard, en effet, il se peut avec certaint répertoir comportant des accents (vivement que l'unicode soit complétement intégré à Python parce que là, ça pose pas mal de problème, Python ne pourra pas se issé dans les plus puissants languages de programmation sans résoudre ce problème), mais j'ai justement fait tous mes test dans des répertoires avec accents, pour vérifié que l'unicode intégré à WxPython fonctionné bien !!! D'après le message d'erreur, tu été dans le répertoire sur le bureau nommé "pythonfrance_SIMULATION-LOTO_42621". Ne seraise pas plutôt le ZIP ? Si c'est le cas c'est peut être l'explication, sinon, je ne comprend rien (je m'attache particulièrement à ce problème car je déteste les sources non fini ou plein de bugs, alors en plus si c'est l'une des mienne ...). Il y a parfois des bug inexpliquer (ça peut également venir de Windows, mais c'est plus rare. Disons que le problème et clos)

2. Tu as certainement remarqué que WxPython, été une bibliothèque très interressante permetant de créé de jolie interface graphique digne de ce nom ! Mais elle est aussi très difficile à utiliser (c'est le rever de la médaile). Tkinter permet de créé des interface graphique très simplement et sans difficulté. WxPython demande une maitrise des classes alors que Tk ne l'exige pas. On est généralement décu par le style des bouton de Tk ainsi que des différents Widget. De plus il est imposible sans Pmw de créé des élément dit évolué (comme par exemple des listes que vous pourrez admiré dans ma prochaine source : Répertoire téléphonique - prévu pour bientôt si j'ai le temps et surtout le courage :) !!!). WxPython propose déja des démos, mais c'est honteux : pour expliquer au gents, il utilise des méthodes de création de fenêtre extrèmement compliqué (en réalité, c'est pour pouvoir ensuite les inséré dans une grande application qui regroupe toutes les démos - c'est totalement ridicule mais bon). J'ai également eut cette idée de faire un tutoriel sur WxPython, mais la tache est titanesque. Mais, comme tu en a fait la demande, je suppose que c'est parce que tu as sans doute envie d'utilisé WxPython et tu ne doit pas être le seul (je sais également que xeolin tiens à maitrisé cette bibliothèque), je crois que je vais prendre un peu de temps pour réalisé ce tuto.

Après ce long roman (je devrais demandé à allé en première L plutôt que demandé mon passage en terminal S mdr :) - non,après une grande réflexion - 0.2 s - je suis trop nul en français et en espagnol pour ça, je déteste les langues et surtout je fais trop de fautes d'orthographe :) - Vive les maths, la physique et surtout la programmation), je vous laisse à vos occupation. Si ce bug (ou un autre) se reproduit n'ésité pas à mettre un commentaire, toutes les critiques (justifié) son les bienvenus ainsi que vos idées, remarques ou impression.
Bonne continuation
_____
Aéra
Shakan972 Messages postés 43 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 17 avril 2015
8 mai 2007 à 21:03
Sinon je voulais également te dire que j'avais remarqué à quel point tu étais à l'aise avec la biliothèque WxPython d'où le service que tu rendrais à cette partie du site en rédigeant un tuto sur ce sujet.

Enfin ne te sens pas obligé c'était juste une idée comme ça qui me passait par la tête. ;)
Shakan972 Messages postés 43 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 17 avril 2015
8 mai 2007 à 20:57
Bon alors je ne comprends rien j'ai refait la manipulation comme je l'avais décris précedemment et bizarrement cela fonctionne très bien :?
Je ne comprends pas quoi que j'ai placé la source dans un autre dossier, c'est la là seule chose que j'ai faîtes et pourtant je n'ai pas déplacé les fichiers de ta source situés dans le même dossier.

Bref, bref oublions ce que j'ai dit et je tiens à te mettre 9/10 car il y a plus intéressant que le loto comme support de programmation ;)
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
8 mai 2007 à 19:50
En esayant de reproduire l'erreur, j'ai prouvé un autre bug dans l'affichage des résultat dans le fenêtre principale, mais je le résolverai demain donc pas de problème pour ça. Mais je n'est toujours pas réussit à reproduire l'erreur que tu a trouvé Shakan972, donc j'attend ton message ! Il se peut que tu ai réussit à trouvé un bug très particulier parce que chez moi tout va parfaitement bien. Si quelqu'un à tester la source, je lui demanderai de nous dir s'il à eut le même problème ou pas merci beaucoup !!!!
_____
Aéra
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
8 mai 2007 à 19:39
C'est très bizard, je n'ai pas ça chez moi !!! D'après le message d'erreur, le programme essaye de lire un fichier qui existe pas ! En effet, lors du tirage, il faut obligatoirement sélectionner un joueur (je suppose que tu t'en es aperçu). Si aucun joueur n'est sélectionné, le programme lui asimile le nom de "[Pas de joueur sélectionné]", mais ceci change lorsque le joueur est sélectionné ! Or là, ce n'est pas le cas, le programme cherche normalement un fichier nomé "info" + nom_du_joueur, et la il cherche le fichier "info[Pas de joueur sélectionné]" qui évidament n'existe pas !!! Vraiment bizard !!! Dis moi précisément sur quel bouton tu à appuyé pour que je puisse essayé de reproduire l'erreur chez moi !!!
Shakan972 Messages postés 43 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 17 avril 2015
8 mai 2007 à 16:25
Salut Aera group je voulais te dire que j'ai testé ta source mais il justement il y a un problème en fait quand je crée un nouveau profil et que je procède à un tirage il me renvoie cela :

Traceback (most recent call last):
File "C:\Documents and Settings\Waziff\Bureau\pythonfrance_SIMULATION-LOTO_42621\Loto\Loto-GUI.pyw", line 389, in valide
f=open(nom,'r')
IOError: [Errno 2] No such file or directory: 'Loto-data\\info[Pas de joueur s\xe9lectionn\xe9]'

Est-ce normal ?

Sinon à part ça je trouve que tu as bien organisé ta source que l'aide que tu as mis est très appréciable !!

Une fois ce petit problème réglé je te donnerai une note.

Merçi de tenir compte de mon problème. :)
Rejoignez-nous