Bonjour,
J'ai un petit soucis pour calculer un pourcentage de différence entre le plus grand string et le plus petit string d'une liste , je m'explique :
j'ai dans une boucle, des instructions qui récupère des prix sur une page web :
problème n°1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 patFinderPrice = re.compile('<b class="priceL">(.*)</b>') findPatPrice = re.findall(patFinderPrice,webpage) try: price = float(re.findall('?', findPatPrice[0])[0]) #sa coince ici (problème n°1) except : price = 0 # sa coince ici (problème n°2) tprice.append (price)
Les donnée que je récupère sont sous format :
-décimale séparé d'une virgule(ex : 25,85)
-les milliers sont séparé d'un point (ex : 5.999,99)
moi au final dans la liste tprice, je veut retrouver des nombres décimaux :
[25,85, 5999,99] de façons a pouvoir faire des calculs avec (voir problème n°3)
je ne sais donc quoi mettre à la place du "?"
problème n°2 :
Pour corser un peu le problème, si le script ne trouve pas le prix, il doit
afficher un élément vide dans la liste (dans mon exemple il y a "price=0" hors
ce n'est pas bon puisque que sa va corrompre tout mes calcul de pourcentage.
problème n°3 :
Je souhaite calculer le pourcentage de différence entre les nombres :
Une fois de temps en temps, difPourcent est négatif, je sais pas si ma formule déconne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 pmax=max(tprice) pmin=min(tprice) difPourcent = int((pmin * 100) / pmax)-100 print difPourcent
Et si non, comment forcer le résultat à être positif ?
Merci
Partager