Bienvenue sur PEBKAC.fr, le site qui recense les anecdotes où l’on se moque des utilisateurs ne maîtrisant pas l’outil informatique. PEBKAC est un acronyme signifiant « Problem Exists Between Keyboard And Chair ».
Le problème se situe entre la chaise et le clavier : soumettez vos histoires, donnez votre avis !
Ce site n'est pas le site original pebkac.fr. Je publie ici la liste des PEBKAC que j'ai pu sauvegarder avant que le site original ne soit mis hors ligne.
Alors que je dois développer une application en Python, j'utilise au début une variable de type « int ». Un peu plus tard, je réalise qu'il vaut mieux utiliser une variable « float ». Pas grave, j'utilise la fonction « Rechercher / Remplacer » pour modifier d'un coup toutes les occurrences dans mon code. Mais après l'enregistrement, problème : mon application ne fonctionne plus.

Je me rends alors compte que les « int() » ont bien été modifiés en « float() », mais aussi les « print() » s'étaient transformés en « prfloat() ». Voilà qui ne risque pas de fonctionner. PEBKAC.
PEBKAC #6163 proposé par greythaf le 12/11/2012 | 13 commentaires | 👍🏽 👎🏽 +192
Et sinon, une relecture ? :3
Commentaire #65627 écrit par K. le 12/11/2012 à 17h32 | 👍🏽 👎🏽 +1
Une petite recherche avec regexp, /bint par exemple (/b = "frontière" d'un mot), aurait évité ce souci. Les regexp c'est le bien !
Sinon oui petit PEBKAC, c'est arrivé à chacun d'entre nous.
Commentaire #65635 écrit par Noraaj le 12/11/2012 à 17h49 | 👍🏽 👎🏽
Il fallait rechercher les mots entier.
Commentaire #65637 écrit par TD le 12/11/2012 à 17h57 | 👍🏽 👎🏽 +1
C'est sûrement arrivé à tout le monde ^^

D'où l'importance, comme dit TD, de bien cocher la cache "rechercher mots entiers" :)
Commentaire #65659 écrit par neeko le 12/11/2012 à 19h13 | 👍🏽 👎🏽
Et Dieu inventa le refactoring.
Commentaire #65670 écrit par Turlututu le 12/11/2012 à 20h32 | 👍🏽 👎🏽
Il ne reste plus qu'à créer une fonction « prfloat() » qui appelle « print() ».
Commentaire #65672 écrit par Moi le 12/11/2012 à 20h43 | 👍🏽 👎🏽
sinon :
rechercher prfloat => remplacer par print
t'auras perdu 10 secondes quoi...
Commentaire #65680 écrit par patanouk le 12/11/2012 à 22h54 | 👍🏽 👎🏽 +1
d'après ce que je sais ( et cf fr.wikipedia.org/wiki/Python_(langage) ) Python c'est pas du typage dynamique ??
Commentaire #65686 écrit par alain le 13/11/2012 à 01h47 | 👍🏽 👎🏽
des fois il vaut mieux initialiser la valeur au départ. pour certain cas. mais ça fait longtemps que j'ai pas fait de python, donc je pourrais pas te ressortir ça comme ça.
Commentaire #65773 écrit par geek85 le 13/11/2012 à 15h32 | 👍🏽 👎🏽
Les "frontières" d'un mot, c'est pas plutôt /< et /> ?
Commentaire #65787 écrit par Pycpp le 13/11/2012 à 17h23 | 👍🏽 👎🏽
Non non, j'avais vérifié avant de poster. Je ne crois même pas que les < et > soient des méta-caractères, mais si tu retrouves, ça m'intéresse.
Bon après il faut savoir qu'il y a plusieurs saveurs de regexps, on peut donc très bien avoir tous deux raison ;)
Commentaire #65821 écrit par Noraa le 13/11/2012 à 19h45 | 👍🏽 👎🏽
Exactement, en python on ne donne pas de type explicite à ses variables, il est déterminé à l'exécution. J'imagine tout de même qu'il y a des cas ou il est utile de préciser un type. Enfin de la à en avoir assez pour justifier un rechercher/remplacer, ça m'étonne.

Après bon, je trouve pas que ce soit vraiment un PEBKAC, juste un erreur classique de chez classique avec un rechercher/remplacer.
Commentaire #65868 écrit par Brendel le 14/11/2012 à 01h04 | 👍🏽 👎🏽
Une petite analyse avant de coder? :P
Commentaire #78352 écrit par Youplà le 12/02/2013 à 13h00 | 👍🏽 👎🏽