Advertisement
gregwa

FCM 158 - Birthdays2.py

Jun 3rd, 2020
813
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.44 KB | None | 0 0
  1. #! /usr/bin/env python
  2. #  -*- coding: utf-8 -*-
  3. # ======================================================
  4. #     birthdays2.py
  5. #  ------------------------------------------------------
  6. # Created for Full Circle Magazine Issue #158 June 2020
  7. # Written by G.D. Walters
  8. # Copyright (c) 2020 by G.D. Walters
  9. # This source code is released under the MIT License
  10. # ======================================================
  11. from numpy.random import seed
  12. from numpy.random import randint
  13. import datetime
  14. # seed random number generator
  15. seed(1)
  16.  
  17. todo = 50000
  18. sampleloops = 100
  19. samples = []
  20. for loop in range(sampleloops):
  21.     dates = []
  22.     for tdo in range(todo):
  23.         # The following example is slightly modified from one provided by kite...
  24.         # start_date = datetime.date(1940, 1, 1)
  25.         start_date = datetime.date(1970, 1, 1)
  26.         end_date = datetime.date(2020, 6, 1)
  27.  
  28.         time_between_dates = end_date - start_date
  29.         days_between_dates = time_between_dates.days
  30.         random_number_of_days = randint(0, days_between_dates)
  31.         random_date = start_date + \
  32.             datetime.timedelta(days=random_number_of_days)
  33.         dates.append(random_date)
  34.  
  35.     # print(dates)
  36.     datetocheck = datetime.date(1986, 6, 24)
  37.     found = dates.count(datetocheck)
  38.     samples.append(found)
  39.     print(f'Found {dates.count(datetocheck)} occurrences')
  40. print(f'Results: {samples}')
  41. print(f'Average is {sum(samples)/len(samples)}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement