On Feb 25, 2010, at 13:10, Remco Gerlich wrote:
> Een array met tuples bijv:
>
> table = [
> (15000, 16500, 0.25),
> (16500, 23000, 0.3),
> ]
als de bedragen in de lijst aaneengesloten zijn, kun je volstaan met een
2-tuple:
lijst = (
(15000, 0.21),
(16500, 0.25),
(23000, 0.3),
...
)
vervolgens kun je binair zoeken naar het bedrag in de eerste kolom.
print zoek( 15500, lijst )
waarbij:
def zoek(bedrag, lijst ):
if bedrag <= lijst[0][0]:
return lijst[0][1]
elif bedrag >= lijst[-1][0]:
return lijst[-1][1]
else:
l = 0
h = len(lijst)-1
while (h-l) > 1:
p = l + (h-l) / 2
if r >= lijst[p][0]:
l = p
else:
h = p
return lijst[l][1]
je kunt dezelfde functie gebruiken om bij een percentage een passend bedrag te
zoeken.
F
_______________________________________________
Python-nl mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-nl