Advertisement
Guest User

Untitled

a guest
Dec 14th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. def readExperimentParameters(filename):
  2. """
  3. >>> readExperimentParameters('experiments.csv')[0]
  4. (10, 2, 480)
  5. >>> len(readExperimentParameters('experiments.csv'))
  6. 5
  7. >>> readExperimentParameters('experiments.csv')[3]
  8. (20, 2, 480)
  9. >>> readExperimentParameters('experiments.csv')[2]
  10. (20, 15, 240)
  11. >>> type(readExperimentParameters('experiments.csv')[1])
  12. <class 'tuple'>
  13. """
  14. data = []
  15. with open('experiments.csv') as csvfile:
  16. rdr = csv.reader(csvfile, skipinitialspace=True)
  17. next(rdr)
  18. for row in rdr:
  19. row[0] = int(row[0])
  20. row[1] = int(row[1])
  21. row[2] = int(row[2])
  22. if row[3] == "h":
  23. row[2] = int(row[2])*60
  24. data.append(tuple(row[0:3]))
  25. else:
  26. data.append(tuple(row[0:3]))
  27. data = [tuple(value for value in row if value) for row in data]
  28. return data
  29.  
  30. def singleQueue(alpha, beta, time=480):
  31. """
  32. >>> random.seed(57)
  33. >>> singleQueue(10, 3, 480)
  34. 3
  35. >>> random.seed(101)
  36. >>> singleQueue(5, 3, 480)
  37. 6
  38. >>> random.seed(101)
  39. >>> singleQueue(5, 3)
  40. 6
  41. >>> random.seed(935)
  42. >>> singleQueue(10, 9, 280)
  43. 10
  44. >>> type(singleQueue(10, 9, 280))
  45. <class 'int'>
  46. """
  47. c = 0
  48. ta = 0
  49. ts = 0
  50. Q = 1
  51. maxQ = 0
  52. while c < time:
  53. if ta < ts:
  54. ts = ts - ta
  55. c = c + ta
  56. Q = Q + 1
  57. if Q > maxQ:
  58. maxQ = Q
  59. ta = nextTime(alpha)
  60. else:
  61. ta = ta - ts
  62. c = c + ts
  63. Q = Q - 1
  64. ts = nextTime(beta)
  65. if Q == 0:
  66. c = c + ta
  67. Q = Q + 1
  68. ta = nextTime(alpha)
  69. return maxQ
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement