Comments on: Notre programme “Envoyez nous les scripts que vous ne pigez pas” est toujours d’actu http://sametmax.com/notre-programme-envoyez-nous-les-scripts-que-vous-ne-pigez-pas-est-toujours-dactu/ Du code, du cul Sat, 07 Nov 2015 11:08:18 +0000 hourly 1 http://wordpress.org/?v=4.1 By: G-rom http://sametmax.com/notre-programme-envoyez-nous-les-scripts-que-vous-ne-pigez-pas-est-toujours-dactu/#comment-10568 Wed, 03 Jul 2013 17:36:46 +0000 http://sametmax.com/?p=6518#comment-10568 Juste pour dire qu’il y a une version officielle de meilleure qualité http://www.youtube.com/watch?v=19MMvOPd7Eg

]]>
By: Syl http://sametmax.com/notre-programme-envoyez-nous-les-scripts-que-vous-ne-pigez-pas-est-toujours-dactu/#comment-10561 Wed, 03 Jul 2013 12:50:43 +0000 http://sametmax.com/?p=6518#comment-10561 Avec votre site, c’est pratiquement “Un jour, une découverte”…aujourd’hui, c’est “any”!

Merci!!!!!!!

]]>
By: Sam http://sametmax.com/notre-programme-envoyez-nous-les-scripts-que-vous-ne-pigez-pas-est-toujours-dactu/#comment-10558 Wed, 03 Jul 2013 12:32:39 +0000 http://sametmax.com/?p=6518#comment-10558
>>> urls = ["machin.de", "google.com", "ebay.au", "untruc.de"]
>>> tld = [".de", ".au"]
>>> [u for u in urls if any(e in u for e in tld)]
[u'machin.de', u'ebay.au', u'untruc.de']

any, all et itertools sont les meilleurs amis du programmeur Python.

]]>
By: kontre http://sametmax.com/notre-programme-envoyez-nous-les-scripts-que-vous-ne-pigez-pas-est-toujours-dactu/#comment-10557 Wed, 03 Jul 2013 12:25:09 +0000 http://sametmax.com/?p=6518#comment-10557 il faut que tu mettes le if tout à la fin, car le t est déclaré dans le for qui dans ton cas se trouve après, donc ça passe pas.

]]>
By: Syl http://sametmax.com/notre-programme-envoyez-nous-les-scripts-que-vous-ne-pigez-pas-est-toujours-dactu/#comment-10556 Wed, 03 Jul 2013 11:57:23 +0000 http://sametmax.com/?p=6518#comment-10556 Un mini…

J’aimerais génerer une liste des éléments de ‘url’ qui se termine par un élément de ‘tld’

urls = ["machin.de", "google.com", "ebay.au", "untruc.de"]
tld = [".de", ".au"]
 
[url for url in urls if url.endswith(t) for t in tld]
 ==> NameError: name 't' is not defined

Je comprend pas pourquoi l’interpreteur reconnais ‘url’, mais pas ‘t’.

J’ai essayé avec des parenthèses:

[url for url in urls if (url.endswith(t) for t in tld)]

Mais là, il me retourne l’intégralité de ‘urls’.

Ne me dites pas que je vais devoir faire une boucle for quand même!

]]>
By: kontre http://sametmax.com/notre-programme-envoyez-nous-les-scripts-que-vous-ne-pigez-pas-est-toujours-dactu/#comment-10529 Tue, 02 Jul 2013 12:27:44 +0000 http://sametmax.com/?p=6518#comment-10529 Le TypeError, pour moi c’est dans le cas où il y a un souci dans le fichier texte : il se prémunit contre les données qu’il ne contrôle pas. fields[6] est une string, donc ça pourrait être n’importe quoi, aussi bien “123” que “abcd”.

Il faut que je vérifie mon isinstance, je crois que je l’ai fait sur (tuple, list). Je voulais avoir au maximum la compatibilité python 2 et 3, donc je ne pouvais pas utiliser basestring directement.

]]>
By: Sam http://sametmax.com/notre-programme-envoyez-nous-les-scripts-que-vous-ne-pigez-pas-est-toujours-dactu/#comment-10522 Tue, 02 Jul 2013 09:22:36 +0000 http://sametmax.com/?p=6518#comment-10522 Pour le int(fields[6]), peut être, mais dans quel cas ça pourrait ne pas être un int ? Si le champ est vide ? Si le champ n’existe pas ? Il n’y a pas de valeur par défaut ? Par de gestion de IndexError ? C’est très zarb.

Tu as raison, j’ai dis une connerie sur get_coordinates, il faut que je corrige ça.

Pour ton cas de tuple, non, c’est un des cas d’utilisation correcte de isinstance, à condition que ce soit fait sur basestring, et pas sur str, unicode, tuple ou list.

Bien vu pour “distance < max_distance”. J’avoue qu’après avoir passé 2 heures sur le machin, il était minuit, sur la fin je me suis relaché ^^

Pour le vocabulaire, clairement je connais rien en géographie, donc pardonnez moi mes grosses bêtises, elles sont là pour montrer que l’auteur du script n’est pas le seul amateur hors de son domaine d’expertise.

]]>
By: kontre http://sametmax.com/notre-programme-envoyez-nous-les-scripts-que-vous-ne-pigez-pas-est-toujours-dactu/#comment-10519 Tue, 02 Jul 2013 08:03:57 +0000 http://sametmax.com/?p=6518#comment-10519 Si la string n’est pas un entier, le int(fields[6]) et consorts renvoient une ValueError, c’est peut-être ça qu’il vérifie ?

Pour un scientifique, une base de donnée c’est un machin dans lequel il y a des données. Faut pas chercher plus loin. Donc un fichier texte, un tableau html, du xml, un csv, tout ça c’est des bases de données en puissance ! J’ai eu quelques cours sur les “vraies” BDD, (je suis une exception), j’en sais assez pour comprendre le principe mais pas pour les utiliser vraiment, et encore moins pour monter une architecture avec. Par contre je sais utiliser le module csv (ou mieux pour les scientifiques, pandas).

Je ne comprends pas le problème avec load_db(). get_coordinates() récupère les valeurs dans les fichiers de données (pas la database) et renvoie les 4 champs à stocker dans la database. Je ne vois pas le souci, c’est moi qui ai raté un truc ?

J’ai eu un cas foireux où j’ai été obligé d’utiliser isinstance, presque dans le même cas qu’ici : j’avais soit une chaîne de caractères, soit un tuple de chaîne. mais comme les chaines sont itérables, je ne pouvais pas utiliser TypeError. Vous verriez un autre moyen ?

if distance < max_distance:
    return True
else:
    return False

Ben, et alors :

return distance < max_distance

Je ne crois pas que les “tile numbers” soient des lat/long, mais plutôt les index des différentes cartes : à cause que cette connasse de Terre est ronde, on s’emmerde à trouver des projections pour représenter les cartes. Plus la zone cartographiée est grande, plus il y aura de déformations, donc on préfère faire plein de petites sous-cartes et les indexer. C’est pour ça qu’on s’amuse avec les recherches de cartes à telles cordonnées… D’habitude les index ont une lettre et un nombre plutôt que 2 nombres, mais ça dépend du format des données. C’est clair dans ma tête, mais p’têt pas dans ce que j’ai écrit…

ign25.py fait partie d’un plan plus global, c’est pour ça qu’il y a plein de trucs dedans. Bientôt, l’IGN dominera le monde !

]]>
By: roro http://sametmax.com/notre-programme-envoyez-nous-les-scripts-que-vous-ne-pigez-pas-est-toujours-dactu/#comment-10512 Mon, 01 Jul 2013 23:47:19 +0000 http://sametmax.com/?p=6518#comment-10512 Belle enquête, y’a pu qu’à attendre les aveux du coupable.
J’aime bien les com’s de tes com’s, ça éclaire sur:
Le pourquoi de la pluie le Dimanche.
Avec Google map “on clic”, on ne voit plus trop l’intérêt de branler 25Go de cartes, mais bon….

]]>