[Linux-bruxelles] [Question Python] traitement simple de nombres

Bruno Dusausoy bdusauso at beeznest.net
Jeu 29 Jan 16:07:33 CET 2004


Le jeu 29/01/2004 à 15:42, Laurent RICHARD a écrit :
> 
> a = '1.3.2-5'
> def jeromize(source, suffix):
> ...   longeur = len(source)
> ...   dernierCaractere = source[longeur-1]
> ...   dernierCaractere = int(dernierCaractere) - 1
> ...   return source[0:(longeur-1)] + `dernierCaractere` + suffix
> 
> Mais c est du bon script, j avais pas ouvert ma boite à temps. ;)

<snip>

Oui et non, c'est plus ou moins bon. Un petit contre-exemple, c'est
toujours sympa :

a = '1.3.2-10'
print jeromize(a, "test")

>>> 1.3.2-1-1test

Comme tu prends le dernier caractères, si la révision est un nombre dont
le dernier chiffre est 0, en enlevant une unité, tu tombes dans les
négatifs.
Il faut, pour empêcher cela, faire des tests.
Mais j'opterais plutôt pour des regexps (d'ailleurs ça m'étonne que
Jérôme n'y ait pas pensé) ou un bon vieux string.split(chaine, "-")...
Mais j'ai pas testé.
-- 
Bruno Dusausoy <bdusauso at beeznest.net>





Plus d'informations sur la liste de diffusion Linux-bruxelles