Comments on: Solution de l’exercice d’hier http://sametmax.com/solution-de-lexercice-dhier/ Du code, du cul Sat, 07 Nov 2015 11:08:18 +0000 hourly 1 http://wordpress.org/?v=4.1 By: Sam http://sametmax.com/solution-de-lexercice-dhier/#comment-18997 Sun, 26 Jan 2014 20:59:53 +0000 http://sametmax.com/?p=8356#comment-18997 Oui.

]]>
By: Atala http://sametmax.com/solution-de-lexercice-dhier/#comment-18994 Sun, 26 Jan 2014 20:16:27 +0000 http://sametmax.com/?p=8356#comment-18994 Sayg bien ces petits exos il y en aura d’autres?

]]>
By: Sam http://sametmax.com/solution-de-lexercice-dhier/#comment-17164 Tue, 17 Dec 2013 17:38:38 +0000 http://sametmax.com/?p=8356#comment-17164 of course.

]]>
By: zanguu http://sametmax.com/solution-de-lexercice-dhier/#comment-17161 Tue, 17 Dec 2013 15:56:03 +0000 http://sametmax.com/?p=8356#comment-17161 Trouvé…
J’ai copié le texte depuis la news et collé dans sublime text.
Sauf que dans le texte les apostrophes sont des
>>> unicodedata.name('’'.decode('utf8'))
'RIGHT SINGLE QUOTATION MARK'

et quand je tape une apostrophe dans ST j’ai
>>> unicodedata.name('\''.decode('utf8'))
'APOSTROPHE'

Comme quoi y’a pas que l’encoding qui fait chier dans les fichiers de texte…

]]>
By: Sam http://sametmax.com/solution-de-lexercice-dhier/#comment-17160 Tue, 17 Dec 2013 15:43:56 +0000 http://sametmax.com/?p=8356#comment-17160 J’ai pas de tampon LOL. Dommage.

]]>
By: zanguu http://sametmax.com/solution-de-lexercice-dhier/#comment-17159 Tue, 17 Dec 2013 15:26:08 +0000 http://sametmax.com/?p=8356#comment-17159 Mais, monsieur le juge, je jure c’est la véritée.
Chez moi ton normalize me donne ça :

« La marche des vertueux est semée d’obstacles qui sont les entreprises égoïstes

(c’est con le ‘i’ de ‘égoïstes’ avec trois points ne passe pas au c/c)
et le encode ascii le transforme en :

La marche des vertueux est semee dobstacles qui sont les entreprises egoistes

du coup ton sub ne remplace que la ponctuation et le ‘-‘ de ‘Tout-Puissant’ vu que le reste existe plus.

PS: mon python est le suivant (si ça joue): Python 2.7.3 (default, Sep 26 2013, 20:08:41) [GCC 4.6.3] on linux2

Et je voudrais finir ma défense avec la citation d’un homme célèbre:

Si vous ne savez pas ce que contient une variable, vous ne comprenez pas le programme

]]>
By: Sam http://sametmax.com/solution-de-lexercice-dhier/#comment-17158 Tue, 17 Dec 2013 13:54:53 +0000 http://sametmax.com/?p=8356#comment-17158 @zanguu: oh le vilain, j’ai refait tourné le code, et j’obtiens bien “c” et “est” séparément.

Ce qui est logique puisque exte = re.sub('[^%s]' % string.ascii_lowercase, ' ', texte.lower()) remplace l’apostrophe par un espace. Vil ! Perfide ! Enculé !

]]>
By: zanguu http://sametmax.com/solution-de-lexercice-dhier/#comment-17153 Tue, 17 Dec 2013 11:07:43 +0000 http://sametmax.com/?p=8356#comment-17153 Ah pas faux, j’oublie toujours ce détail.
Étant donné qu’on a fait un .lower() on peut utiliser ‘[a-z\d]+’.
Mais vu que ton texte ne comportait pas de ‘_’ j’y ai pas pensé.

]]>
By: Sam http://sametmax.com/solution-de-lexercice-dhier/#comment-17151 Tue, 17 Dec 2013 10:41:34 +0000 http://sametmax.com/?p=8356#comment-17151 Arf, j’ai merdé. Amen. J’aurais du les remplacer par un espace.

Findall est une meilleure solution en effet, par contre pas avec \w qui garde les underscores. Il faut une regex plus perfectionnée.

]]>
By: zanguu http://sametmax.com/solution-de-lexercice-dhier/#comment-17150 Tue, 17 Dec 2013 10:20:56 +0000 http://sametmax.com/?p=8356#comment-17150 Sans vouloir faire mon chieur (mais un peu quand même), pourquoi ces deux lignes :
texte = re.sub('[^%s]' % string.ascii_lowercase, ' ', texte.lower())

for i, e in enumerate(texte.split()):

alors que ceci me semble plus “opti” :
for i, e in enumerate(re.findall('[\w]+', texte.lower())):
vu qu’on ne passe qu’on parse qu’une fois le texte.
Surtout que .encode('ascii', 'ignore') à viré tout ce qui pouvais interférer avec la regex.

Et j’ajouterai que tu m’as menti!

@zanguu : “c’est” est une contraction de deux mot : “cela est”, donc c’est bien deux mots.

mais quand je fais tourner ton code j’ai :

- quil: 39
– jabattrai: 65
– leternel: 98
– cest: 175, 199, 208, 234

ce que j’ai personnellement géré grace à :
u''.join(c for c in unicodedata.normalize('NFKD', texte) if not unicodedata.combining(c ) et qui m’autorise à oublier le .encode('ascii', 'ignore')

PS: wouhou je suis dans l’article… et je casse les couilles après !

]]>