[python-nl] Newbie vraag werken met tabeldata

matthijs kadijk matthijs at kadijk.com
Thu Feb 25 12:48:44 CET 2010


Hallo Anthony,

Ik ben een newbie in Python (en voor het eerst programmeren) en zit

met de volgende (simpele) uitdaging, maar ik zie het licht even niet.

Wie kan mij helpen?


welkom op de list.

Ik lees dat je van plan bent een database te gebruiken in ja applicatie. Nu
zijn deze dingen vrij handig voor het opslaan van tabellen en het doorzoeken
ervan. Zeker als de tabellen groter worden, is dat m.i. de beste aanpak. Het
zoeken naar een percentage bij een gegeven  bedrag laat je dan aan de DB
over, en door de juiste indexen aan te leggen, gaat dat ook lekker snel.

Dus bv

zoek_sql = """
SELECT * FROM korting
WHERE korting.van > %(zoek_prijs)d
     AND korting.tot < %(zoek_prijs)d""" % dict(zoek_prijs=1755)

Als je geen DB kan of wilt gebruiken, dan zou ik me geen zorgen maken over
efficentie, immers wat je kan doen is dan sowieso beperkt tot wat er in het
(werk) geheugen van je computer past.

Je zou een lijst van dictionary's kunnen gebruiken:

korting = []
korting.append( dict(van=15000, tot=16500, percentage=25) )
korting.append( dict(van=16500, tot=23500, percentage=20) )
etc.

lees de waardes bv in vanuit een CSV bestand ...

zoeken kan nu bv zo (niet efficiënt ...)

zoek_bedrag = 16200
gevonden = None
for rec in korting:
   if rec.get('van') < zoek_bedrag and  zoek_betrag < rec.get('tot'):
     gevonden = rec
     break # spring uit de loop als we het juiste record gevonden hebben ..
if gevonden:
   percentage = rec.get('percentage')


Matthijs Kadijk

http://tng.appspot.com          Matthijs op Kadijk.com
------------- volgend deel ------------
Een HTML-bijlage is gescrubt...
URL: <http://mail.python.org/pipermail/python-nl/attachments/20100225/14d6831e/attachment.html>


More information about the Python-nl mailing list