IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[Parenthese Defi info]


Sujet :

Python

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 139
    Points : 131
    Points
    131
    Par défaut [Parenthese Defi info]
    Salut a tous,
    Pour une fois ceci n'est pas une question mais une petite pub pour un site que j'ai découvert hier totalement par hasard. Il y a bien une note a ce sujet dans le Forum Parent de devellopez.net mais en tant qu'utilisateur exclusif du Forum Python, j'aurai pu passer totalement a coté.

    Bref, donc si les modos estiment que ce post n'a pas de raison d'être n"hésitez pas a le deplacer/supprimer.

    Il s'agit d'une suite de défi mathématique a résoudre a l'aide de programme que chacun doit développer soit même.
    Style de question:
    Calculer la somme des entiers divisible par 3 ou par 5 inferieur a 1000.

    Evidemment ca c'est la premiere question, la difficulté allant croissant.

    On pourrai meme faire un petit post la dessus qu'on puisse en discuter entre utilisateur de Python : Ca permettrai une analyse bien poussé et interessante en terme d'optimisation

    Le site:
    http://projecteuler.net/

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 141
    Points : 184
    Points
    184
    Par défaut
    Effectivement on sort de Python, là (même si j'y ai résolu 28 problèmes en pur Python ... plus que 234 à résoudre ! ): le choix du langage n'est pas imposé. C'est vrai que leur phrase "tous ces problèmes peuvent se résoudre en moins d'une minute de calcul" est stimulante, mais n'incite pas forcément à choisir notre langage favori.
    En même temps, je dois avouer que j'y ai appris pas mal de choses concernant l'écriture d'un code Python qui tourne vite (et, généralement, qui est aussi simple et court).

    Par contre, pythonchallenge, lui, incite fortement à utiliser Python, car les solutions à ses énigmes sont inclues dans un module de la librarie standard ou d'une librairie tierce.

    Toutefois, qu'il s'agisse de l'un ou de l'autre de ces forums, je déconseille fortement d'établir un thread ici pour en discuter, étant donné que le but du jeu est de trouver une solution tout seul : évitons les spoilers.

    Surtout que l'un comme l'autre, une fois l'énigme résolue, permettent d'accéder aux solutions des autres utilisateurs (c'est là que j'ai vraiment appris à "penser Python" et que j'ai découvert des optimisations).

    En bref : allez-y, suez sang et eau pour trouver les réponses, étudier les réponses des autres une fois que vous avez résolu le challenge mais surtout, surtout, ne spoilez pas, please.

    Enfin, on peut toujours me répondre "si tu ne veux pas être spoilé, ne lis pas ce thread" et je dirais que c'est dommage, car je veux bien discuter d'optimisation, mais bon, vous avez raison : After all, we're all consenting adults here.

  3. #3
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 808
    Points : 7 086
    Points
    7 086
    Par défaut
    Dans le site pythonchallenge, je n'ai toujours pas trouvé le moyen en étant inscrit bien sur de pouvoir regarder un seul challenge.

    Je ne sais pas comment y accéder, si tu sais peux-tu m'expliquer?

    Merci par avance,
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 105
    Points : 67
    Points
    67
    Par défaut
    Bonjour à tous,

    J'avais pourtant trouvé l'intention de ju-bicycle parfaitement louable même si ces défis ne sont pas spécialement faits pour être relevés via Python...
    Il m'aurait intéressé au plus haut point de découvrir d'autres "productions", de les comparer avec les miennes, et de voir comment les optimiser au maximum.
    Mais nardo47 semble penser (et son argumentation mérite qu'on s'y arrête) que ce n'est pas une bonne idée que de proposer ses solutions ici.
    On peut pourtant avoir envie de résoudre ces problèmes pour le fun, sans vouloir s'inscrire pour participer au concours, non ?

    Bon, j'avais posté un de mes codes, comme je ne veux heurter personne, je viens d'éditer et le retirer en attendant de voir l'évolution de la pensée sur le sujet...
    Dommage !

    Cordialement.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 139
    Points : 131
    Points
    131
    Par défaut
    Hello a tous
    Sinon on pourra ajouter un sous forum au forum python (aprés tout il y en a pas mal alors pk pas?)
    qui s'intitulerai "Défi info".
    Ensuite il suffirait de créer encore un sous forum par défi différent:
    PythonChallenge
    Eulerproject

    Puis lorsqu'on post dans ces forum ils suffit de mettre le numéro de l'énigme concerné et hop: Plus de probleme de spoiler...

  6. #6
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 808
    Points : 7 086
    Points
    7 086
    Par défaut
    Bonne idée, je suis pour!
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 141
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Dans le site pythonchallenge, je n'ai toujours pas trouvé le moyen en étant inscrit bien sur de pouvoir regarder un seul challenge.

    Je ne sais pas comment y accéder, si tu sais peux-tu m'expliquer?

    Merci par avance,
    Le challenge commence ici. Il s'agit vraiment d'une énigme. A toi de comprendre la page affichée, et comment Python peut t'aider à résoudre l'énigme.
    Si tu arrives à la résoudre, tu auras accès à une url listant les solutions des différents participants, et ainsi de suite. A chaque nouvelle énigme, tu peux consulter les solutions de l'énigme précédente.
    Pour ProjectEuler, c'est différent car tu n'es pas obligé de les résoudre dans l'ordre, mais au fond, ça revient au même : tu ne peux voir que les solutions des challenges/énigmes/problèmes que tu as résolus.

    Citation Envoyé par yoshik Voir le message
    J'avais pourtant trouvé l'intention de ju-bicycle parfaitement louable même si ces défis ne sont pas spécialement faits pour être relevés via Python...
    C'est effectivement tout à fait louable de vouloir proposer des astuces/conseils/idées pour "mieux" coder (+ vite, + clair, + robuste, + tout-ce-que-tu-veux).
    Et tu serais surpris de voir à quelle vitesse peut s'exécuter un programme Python, pour peu que tu réfléchisses à ton algo et que tu aies un style Pythonique.

    C'est juste que je n'ai pas envie de voir la solution d'un problème que je n'aurai pas encore résolu, mais, comme je l'ai écrit :

    Citation Envoyé par nardo47 Voir le message
    on peut toujours me répondre "si tu ne veux pas être spoilé, ne lis pas ce thread" et je dirais que c'est dommage, car je veux bien discuter d'optimisation, mais bon, vous avez raison : After all, we're all consenting adults here.
    Si je n'ai pas envie de voir une solution et qu'il y en a de postés, il me suffit de ne pas les lire !

    Citation Envoyé par yoshik Voir le message
    Il m'aurait intéressé au plus haut point de découvrir d'autres "productions", de les comparer avec les miennes, et de voir comment les optimiser au maximum.
    Moi aussi, et j'en ai vu, des productions superbes dans les solutions des énigmes que j'avais résolues.
    Des solutions où je me suis dit "Woaw, je savais pas qu'on pouvait faire ça !" et des solutions où je me suis dit "Mais c'est pas possible que je sois aussi c*n, pourquoi j'ai pas fait comme ça, je suis vraiment un âne bâté !".

    Citation Envoyé par yoshik Voir le message
    Mais nardo47 semble penser (et son argumentation mérite qu'on s'y arrête) que ce n'est pas une bonne idée que de proposer ses solutions ici.
    Je te remercie d'accorder autant de considération à ma remarque.

    Citation Envoyé par yoshik Voir le message
    On peut pourtant avoir envie de résoudre ces problèmes pour le fun, sans vouloir s'inscrire pour participer au concours, non ?
    Au niveau de l'inscription, elle est gratuite, n'engage à rien du tout : pour une fois qu'on nous propose quelque chose comme ça sans aucune démarche commerciale ou autre derrière, ça serait dommage de ne pas en profiter, mais vous faites comme vous voulez.

    Ce sera mon dernier mot sur le sujet : décidez ce que vous voulez, je vous ai fait part de mon avis, je ne prétends pas qu'il soit le meilleur, ni celui de la majorité.

    Qui plus est, peut-être qu'il n'y aura aucune solution publiée, juste des bouts de code + génériques, démontrant bien l'optimisation sans spoiler quoi que ce soit. Je suis peut-être dans un mode "jeune vierge effarouchée" !

    Et même si des solutions sont publiées, sachez que je regarderais quand même, ne serait-ce que pour voir si je peux m'améliorer ou aider les autres à s'améliorer.

  8. #8
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 808
    Points : 7 086
    Points
    7 086
    Par défaut
    Le challenge commence ici. Il s'agit vraiment d'une énigme. A toi de comprendre la page affichée, et comment Python peut t'aider à résoudre l'énigme.
    ok merci, il est résolu assez facilement, je passe au 1

    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 105
    Points : 67
    Points
    67
    Par défaut
    Bonsoir,

    ok merci, il est résolu assez facilement, je passe au 1
    Résolu ? Chapeau ! Moi, je n'ai toujours pas compris : ça ne m'inspire absolument rien (et de toutes façons s'il s'agit via python de modifier une url, chaispasfaire ! Donc time out !)
    Assez facilement ... boufre ! J'ai eu tort de vouloir jouer dans la cour des grands, je retourne donc jouer aux billes avec les gamins de ma rue
    et au défi Euler.

    Flap ! Flap ! Flap ! (Un ange passe)

    Bon, en fait, j'ai quand même trouvé...

    @+

  10. #10
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 808
    Points : 7 086
    Points
    7 086
    Par défaut
    par contre le 1 je comprend pas, mais alors pas du tout avec quoi il faut jouer pour le mettre dans la barre d'adresse.

    Oui dans le 0 fallait surtout regarder la position du 2 par rapport au 38
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 139
    Points : 131
    Points
    131
    Par défaut
    bah la 1 c'est une substitution monalphabetique toute simple (dite de cesar) et en plus il donne la clef!!
    alors il reste plus grand chose a faire !!

  12. #12
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 808
    Points : 7 086
    Points
    7 086
    Par défaut
    D'accord j'avais donc bien compris, mais la réponse, je la met ou?
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 141
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    D'accord j'avais donc bien compris, mais la réponse, je la met ou?
    Une réponse facile me vient à l'esprit, mais bon...

    Le conseil de l'énigme 0 reste valide.

    Hint: try to change the URL address.
    P.S. Je vous avais bien dit que je suivrais quand même ce thread !

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 139
    Points : 131
    Points
    131
    Par défaut
    il me semble que quand tu traduit le texte, il te dit de faire la meme chose a l'url
    (uniquement au mot "map" of course)

    A qui on demande de créer le nouveau forum???

  15. #15
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 808
    Points : 7 086
    Points
    7 086
    Par défaut
    Bon j'y arrive pas.

    Pourtant dans la clef, faut bien remplacer

    k-->m
    o-->q
    e-->g

    Ce qui donne :

    g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr ammnsrcpq ypc dmp. bmglg gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmlg. sqglg qrpglg.myicrpylq() gq pcammmclbcb. lmu ynnjw ml rfc spj.
    Ce résultat je le colle dans l'url à la place du map et ça ne fonctionne pas.

    http://www.pythonchallenge.com/pc/def/g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr ammnsrcpq ypc dmp. bmglg gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmlg. sqglg qrpglg.myicrpylq() gq pcammmclbcb. lmu ynnjw ml rfc spj..html

    Ci-dessus il y a 2 points dans l'url, je les ai écris en rouge, c'est normal?

    Me suis-je gouré dans la compréhension du sujet?
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 139
    Points : 131
    Points
    131
    Par défaut
    Il ne faut pas remplacer que ces trois lettres, mais toutes les lettres avec le meme décalage !!
    (+3 je crois, de mémoire). Ce qui donne un texte (que je n'ai pas ici, désolé).

    Puis tu fais le meme décalage a "map" qui te donnce "ocr"
    et tu remplace map par ocr dans l'url...Et voili!

    Le but du jeux étant de réaliser le script en python qui t'effectue le décalage des lettres!

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 105
    Points : 67
    Points
    67
    Par défaut
    Salut,

    Oui, tu t'es gouré... On t'incite à coder le mot map...
    J'ai accédé à l'énigme suivante, je pense avoir mis la main sur le texte à "passer à l'OCR"...
    J'ai cru que c'était du ook modifié, apparemment, non !
    Je continue mes investigations.

    Défi euler n°8 : Dans un nombre de 1000 chiffres qui est donné, trouver le plus produit de 5 "chiffres" consécutifs, un bout de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    prod = eval('*'.join(nombre[i:i+5]))
    Sur mon, PC 2Go RAM avec proc. Phenom X3 et psyco importé dans mon script, temps pour trouver la réponse : 0.0310001373291 s

    @+

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 139
    Points : 131
    Points
    131
    Par défaut
    Hello a tous
    Alors voila. Aprés avoir eu besoins de 11h30 de temps d'execution pour résoudre la question 12, j'ai (enfin) décidé de m'attaquer a un algo propre et efficace de décomposition en nombre premier.
    Il semblerai que l'algo de rho-pollard soit pas mal, mais mes notions de math ont pas mal baissé ces derniers temps, et je voudrais comprendre ce que je fais.
    Avez vous des algos peut etre moins performant (correct quand meme!!) mais plus simple?
    Sinon une petite explication..... Hein Yoshi

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 105
    Points : 67
    Points
    67
    Par défaut
    Salut,

    Désolé, rho-pollard efficace, rapide mais pas fiable à 100% : gênant !
    Un algo de crible d'Eratosthène très rapide trouve le 10001e nombre premier en 16/1000e de s.
    Tu prends ?

    Je pense m'y prendre à l'envers : je suis en train de chercher à optimiser le nombre de facteurs min et les exposants nécessaires, établir la liste des nomres premiers jusqu'à un certain niveau et tester les nombres triangulaires à partir d'une certaine valeur.
    Sinon j'ai encore d'autres pistes...

    @+

  20. #20
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 139
    Points : 131
    Points
    131
    Par défaut
    Un algo de crible d'Eratosthène très rapide trouve le 10001e nombre premier en 16/1000e de s.
    Tu prends ?
    oui je prend. mais avec des commentaires pour etre sur de bien piger le tout!!!

Discussions similaires

  1. [CR] Infos sur l'utilisation de dll
    Par step dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 09/08/2002, 11h35
  2. Réponses: 3
    Dernier message: 25/07/2002, 10h42
  3. [Manip de fichiers] Fonction retournant des infos
    Par sans_atouts dans le forum C
    Réponses: 3
    Dernier message: 24/07/2002, 14h16
  4. [CR] Est il possible de créer des univers avec Seagate Info?
    Par Frank dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 27/06/2002, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo