Aller au contenu

Petit challenge de manipulation de chaine


DenisHen

Messages recommandés

  • Réponses 67
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Merci pour le lien très intéressant, je ne connaissais pas ce site, je l'ai mis en favori, en cas de blocage futur je saurai à qui m'adresser :D

Je pensais suivre ce cours https://www.fun-mooc.fr/courses/course-v1:UCA+107001+session02/about pour débuter, visiblement on en dit du bien, mais c'est toujours intéressant d'avoir plusieurs sources, le plus dur sera de se libérer les 7 à 10h /semaine nécessaire et en continue, d'aprés ce qui est conseillé.

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

Je comprends le succès (mérité) de Python (même si ayant goûté au typage statique, j'ai du mal à revenir à un typage dynamique)

Un vrai progrès serait que Autodesk l'intègre comme langage de script embarqué dans AutoCAD au côté de AutoLISP.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Un autre exemple en F# qui, s'il n'est pas le plus concis, a le mérite de décrire clairement l'algorithme grâce à la composition de fonction :

let test : string -> string = 
   Seq.chunkBySize 2 >> Seq.rev >> Seq.concat >> String.Concat

Que dire a part renouveler ici mon admiration, c'est un festival ;)

Au passage merci, je m'aperçois ici que je fais un abus de langage lorsque j'utilise le terme de "composition de fonctions" alors qu'en comparaison, je devrai qualifier cela d'imbrication de fonctions.

Apprendre => Prendre => Rendre

Lien vers le commentaire
Partager sur d’autres sites

Je comprends le succès (mérité) de Python (même si ayant goûté au typage statique, j'ai du mal à revenir à un typage dynamique)

Un vrai progrès serait que Autodesk l'intègre comme langage de script embarqué dans AutoCAD au côté de AutoLISP.

J'aimerais bien :wub:

J'arrive quand même à en faire en passant par l'interface COM

import win32com.client

acad = win32com.client.Dispatch("AutoCAD.Application")
doc = acad.ActiveDocument
doc.Utility.Prompt("Coucou depuis python\n")

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Lien vers le commentaire
Partager sur d’autres sites

Je comprends le succès (mérité) de Python (même si ayant goûté au typage statique, j'ai du mal à revenir à un typage dynamique)

Un vrai progrès serait que Autodesk l'intègre comme langage de script embarqué dans AutoCAD au côté de AutoLISP.

A ben la : on sera d'accord pour passer à python plutôt que Lisp / VLisp ou VBA ?

Lien vers le commentaire
Partager sur d’autres sites

A ben la : on sera d'accord pour passer à python plutôt que Lisp / VLisp ou VBA ?

Je ne pas dit "plutôt que Lisp", j'ai dit "à côté de AutoLISP". J'aime trop la simplicité et l'élégance "mathématique" de ce langage.

 

J'arrive quand même à en faire en passant par l'interface COM

Oui mais une véritable intégration avec un PYIDE qui permette d'exécuter le code directement dans AutoCAD serait un vrai plus pour ceux qui sont allergiques aux parenthèses et préfèrent une syntaxe plus "conventionnelle" mais surtout de bénéficier de toute les bibliothèques de Python.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Vous avez effectivement raison, je n'airais pas dû lancer le challenge avec pour une des priorité, le nombre de ligne, mais sur le nombre de Fonctions/Commandes, voir même le nombre de caractères.

 

Le nombre de Fonctions/Commandes nécessite une grande connaissance de l'outil, et le nombre de caractères dépend de cette connaissance mais aussi de sa structure...

 

Donc, et j'en suis conscients maintenant, Fonctions/Commandes reste le meilleur choix, comme l'a plusieurs fois suggérer Maître (gile).

 

j'avais eu juste une petite idée et je me suis dis : Tiens, fais-en un "Programmer pour s'amuser", car c'est très lucratif et représente beaucoup d'enthousiasme de la part de mes "collègues" CadXpiens"...

 

Mais dans mon idée, j'étais plus porté sur le Lisp ou le V-Lisp... (que je connais un peu...).

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Je rejoins (gile), le Lisp est très, très... Contraignant, très (trop) structuré (t'oublie une parenthèse et Pouf, ça plante et tu ne sais ni où ni pourquoi) il ne te permet aucune erreur, mais c'est peut-être du à l'IDE, qui n'est juste qu'un éditeur de texte.

 

Mais selon Draftsight et ZWCAD, ils auraient des debuggers et une édition des .lsp plus structurée...

 

Mais quand un lisp fonctionne, c'est un florilège de possibilités incroyables...

 

Je n'aimais pas le Lisp quand j'ai commencé à programmer sur AutoCAD, vers la fin des années 90, je préférais le VBA, mais après quelques années, le Lisp s'est réellement imposé à moi dans AutoCAD, bien plus que le VBA, que je prônais au début...

 

Et CadXP s'est aussi imposé comme une grande source d'aide...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Vous avez effectivement raison, je n'airais pas dû lancer le challenge avec pour une des priorité, le nombre de ligne, mais sur le nombre de Fonctions/Commandes, voir même le nombre de caractères.

 

Le nombre de Fonctions/Commandes nécessite une grande connaissance de l'outil, et le nombre de caractères dépend de cette connaissance mais aussi de sa structure...

 

Donc, et j'en suis conscients maintenant, Fonctions/Commandes reste le meilleur choix, comme l'a plusieurs fois suggérer Maître (gile).

 

j'avais eu juste une petite idée et je me suis dis : Tiens, fais-en un "Programmer pour s'amuser", car c'est très lucratif et représente beaucoup d'enthousiasme de la part de mes "collègues" CadXpiens"...

 

Mais dans mon idée, j'étais plus porté sur le Lisp ou le V-Lisp... (que je connais un peu...).

C'est quand même en LISP qu'il y a le plus de réponses et les réponses dans d'autres langages on permis aux curieux de découvrir d'autres choses (j'ai écris mes premières lignes de code en Ruby).

Quant à la concision, c'est un critère prisé par ceux qui pratiquent certains langages (dont le LISP) et auquel j'ai eu (trop) tendance à prêter un grande importance.

Aujourd'hui, je travaille sur des programmes de plusieurs dizaines de milliers de lignes (en C#, pas en LISP) et je me rend compte que privilégier la concision se fait parfois au détriment de le compréhension immédiate du code quand on revient dessus après quelques mois.

Ça reste néanmoins une très bonne stimulation pour ce genre de challenge parce que ça oblige à coder en évitant tout verbiage superflu, ce qui est encore pire, à mon avis, pour la compréhension immédiate du code.

En tous cas, je me suis régalé, merci.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Salut à tous.

En tous cas, je me suis régalé, merci.

Cette seule ligne me régale aussi...

 

J'ai côtoyé des codes extraordinaires dans ce petit truc que, je pensais, remuer 2 à 3 personnes, et sur du Lisp, du V-Lisp voir du VBA...

 

Mais là, ils ont tous répondus ! ! ! Et c'est "super cool" ! ! !

 

Je me rend compte de l'implication de certains (beaucoup en fait) membres de la communauté (je parle de développeur, bien sur), reste surprenante, mais pas étonnante...

 

Je savais que la communauté de développeurs CADXpiens était très présente, mais là ! ! !

 

J'eusse aimé mieux faire et encadrer mon "challenge" (je n'ai ni la rigueur ni la logique de certains) mais si vous désirez des challenges, j'en ai des tonnes dans la têtes...

 

Mais, s'ils sont nombreux, malgré que j'ai été "ÔÔÔÔhhhh" (non je ne trouve pas de mots, c'est entre abasourdit et "****" !!!) avec notamment le Ruby et le F#, je peut trouver dans mes tiroirs des centaines de challenges...

 

Mais le gros problème est que, quand un langage est "expert" pour un type de problème, d'autres seront tout aussi efficaces pour en trouver la solution, mais on ne peux pas connaître tous les langages de programmation, Certains diront "Le Lisp est indétrônable", d'autre "Python", et encore d'autres "Ruby"... Mais quelle est la vrai question, et surtout, quelle est la vrai réponse...

 

On le sait tous, 1+1=2, et tous le reste en découle (c'était les paroles de mon super prof de math en seconde), Mais en informatique, il y a plusieurs solution pour résoudre cette énigme : 1+1... Il y a des centaines de façon de dire, Ben ça fait deux... Mais comment le prouver...

 

Juste pour le fun... Zéro (0) impaire ou paire ? ? ?

 

Juste pour vous faire comprendre que, toutes nos visions ne dépendent que de nous, de notre faculté à analiser le problème, avec nos instruments... Et voir VOS solutions, c'est hyper important...

 

Je vous dis donc à tous, un SUPER GROS MERCI ! ! !

 

Merci à tous... Et bon week-end...

 

Mais si vous désirez des challenges, j'en regorge. ..

 

Signé, un fan de CadXP, et un fan du développement...

 

Denis...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Tu voulais dire Alpanov ?

 

Bon Wekk-end, un Denis, pas du tout fatigué, mais toujours triste, (non Ô décapode, je n'ai pas oublié, comme toi...) ...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

On parle bien de Kovcheg-Parquet ?

 

Perso, sans compter sur son créateur, John McCarthy qui restera le principal pionnier de l'intelligence artificielle avec Marvin Lee Minsky, je trouve dans le Lisp un langage qui corresponde exactement avec ma façon de penser, ma théologie de la logique, mon fonctionnement cérébral...

 

Je n'aimais pas le lisp quand je l'ai découvert (dans les années 90), mais plus je l'utilise, plus je l'aime... Et je sais que, maintenant, il y a d'autres interpréteurs/compilateur, peut-être plus intuitifs, peut-être plus réactifs... Mais je ne les connais pas... Et le Lisp (que je n'utilise que pour AutoCAD), me semble très approprié à cette utilisation que j'en fais, comme de millions d'autres personnes dans le monde...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

J aurais bien aimé voir la/les solution(s) du grand Maître Elpanov ?!

Je pense qu'il n'aurait pas pu faire plus concis que VDH-Bruno réponse #29, AutoLISP n'ayant pas de fonction qui utilise les expressions régulières comme Ruby (#38) ou Python (#49), ni de compréhension de liste comme Python (#51) ou F#.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant



×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité