Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. from datetime import datetime, timedelta
  2.  
  3. HALF_HOUR = timedelta(minutes=30)
  4. ONE_DAY = timedelta(days=1)
  5.  
  6.  
  7. def task(t):
  8. l = list()
  9. for el in t:
  10. l.append(datetime.strptime(el, '%Y-%m-%d %H:%M:%S'))
  11.  
  12. days = set()
  13. for i, r in enumerate(l):
  14. date = r.date()
  15. if i == 0:
  16. days.add(date)
  17. sessions = 1
  18. else:
  19. if date in days or date - ONE_DAY in days:
  20. time_diff = r - l[i - 1]
  21. if time_diff > HALF_HOUR:
  22. days.add(date)
  23. sessions += 1
  24. else:
  25. days.clear()
  26. days.add(date)
  27. sessions = 1
  28.  
  29. return len(days) >= 3 and sessions >= 6
  30.  
  31.  
  32. A = ['2017-03-10 08:13:11', '2017-03-10 19:01:27', '2017-03-11 07:35:55', '2017-03-11 16:15:11', '2017-03-12 08:01:41',
  33. '2017-03-12 17:19:08']
  34.  
  35. B = ['2017-03-10 18:58:11', '2017-03-10 19:01:27', '2017-03-11 07:35:55', '2017-03-11 16:15:11', '2017-03-12 08:01:41',
  36. '2017-03-12 17:19:08']
  37.  
  38. C = ['2017-03-08 17:11:13', '2017-03-11 17:22:47', '2017-03-11 19:23:51', '2017-03-11 22:03:12', '2017-03-12 08:32:04',
  39. '2017-03-12 13:19:08', '2017-03-12 17:19:08']
  40.  
  41. print(task(A))
  42. print(task(B))
  43. print(task(C))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement