Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from datetime import datetime, timedelta
- HALF_HOUR = timedelta(minutes=30)
- ONE_DAY = timedelta(days=1)
- def task(t):
- l = list()
- for el in t:
- l.append(datetime.strptime(el, '%Y-%m-%d %H:%M:%S'))
- days = set()
- for i, r in enumerate(l):
- date = r.date()
- if i == 0:
- days.add(date)
- sessions = 1
- else:
- if date in days or date - ONE_DAY in days:
- time_diff = r - l[i - 1]
- if time_diff > HALF_HOUR:
- days.add(date)
- sessions += 1
- else:
- days.clear()
- days.add(date)
- sessions = 1
- return len(days) >= 3 and sessions >= 6
- 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',
- '2017-03-12 17:19:08']
- 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',
- '2017-03-12 17:19:08']
- 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',
- '2017-03-12 13:19:08', '2017-03-12 17:19:08']
- print(task(A))
- print(task(B))
- print(task(C))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement