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 :

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)
problème n°1 :
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 :
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
Une fois de temps en temps, difPourcent est négatif, je sais pas si ma formule déconne
Et si non, comment forcer le résultat à être positif ?

Merci