Advertisement
Guest User

FCM82 - Programmer en Python n°52

a guest
Jul 25th, 2014
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.71 KB | None | 0 0
  1. def OpenDB():
  2.     global connection
  3.     global curseur
  4.     connection = apsw.Connection("labpackagestudy.db3")
  5.     curseur = connection.cursor()
  6.    
  7. def TraiterJoursDeSemaine():
  8.     # on cree un second curseur pour mettre a jour la nouvelle table
  9.     curseur2 = connection.cursor()
  10.     q1 = "DROP TABLE IF EXISTS JoursDeSemaine"
  11.     curseur.execute(q1)
  12.     query = '''CREATE TABLE IF NOT EXISTS JoursDeSemaine AS SELECT pkgs,
  13.               Count(DOW) as NombreDeJoursDeSemaine FROM etude WHERE (Holiday <> 1)
  14.               AND DayName in
  15.               ("lundi","mardi","mercredi","jeudi","vendredi")
  16.               GROUP BY pkgs'''
  17.  
  18.     curseur.execute(query)
  19.     addcolquery = 'ALTER TABLE JoursDeSemaine ADD COLUMN probability REAL'
  20.     curseur.execute(addcolquery)
  21.     addcolquery = 'ALTER TABLE JoursDeSemaine ADD COLUMN lower REAL'
  22.     curseur.execute(addcolquery)
  23.     addcolquery = 'ALTER TABLE JoursDeSemaine ADD COLUMN upper REAL'
  24.     curseur.execute(addcolquery)
  25.     sumquery = "SELECT Sum(NombreDeJoursDeSemaine) as Sm FROM JoursDeSemaine"
  26.     tmp = curseur.execute(sumquery)
  27.     for t in tmp:
  28.         DaySum = t[0]
  29.     upquery = "SELECT * FROM JoursDeSemaine"
  30.     c1 = curseur.execute(upquery)
  31.     LastUpper = .0
  32.     for row in c1:
  33.         cod = row[1]
  34.         pkg = row[0]
  35.         prob = cod / float(DaySum)
  36.         if LastUpper != .0:
  37.             lower = LastUpper
  38.             LastUpper = (lower + prob)
  39.         else:
  40.             lower = .0
  41.             LastUpper = prob
  42.         nquery = 'UPDATE JoursDeSemaine SET probability = %f, \
  43.                   lower = %f, upper = %f WHERE pkgs = %d' \
  44.                   % (prob,lower,LastUpper,pkg)
  45.         u = curseur2.execute(nquery)
  46. #====================================
  47. #       End of TraiterJoursDeSemaine
  48. #====================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement