Advertisement
gnamp

Friday 13th Lister DMcG

Jun 23rd, 2017
422
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.24 KB | None | 0 0
  1. #'Friday 13ths since 1700' Lister
  2. #for Python 2.x
  3. #by Dominic D. McGough
  4. #Friday, 23rd June, 2017
  5.  
  6. def weekDay(year, month, day):
  7.     offset = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
  8.     week   = ['Sunday',
  9.               'Monday',
  10.               'Tuesday',
  11.               'Wednesday',
  12.               'Thursday',  
  13.               'Friday',
  14.               'Saturday']
  15.     afterFeb = 1
  16.     if month > 2: afterFeb = 0
  17.     aux = year - 1700 - afterFeb
  18.     # dayOfWeek for 1700/1/1 = 5, Friday
  19.     dayOfWeek  = 5
  20.     # partial sum of days between current date and 1700/1/1
  21.     dayOfWeek += (aux + afterFeb) * 365                  
  22.     # leap year correction    
  23.     dayOfWeek += aux / 4 - aux / 100 + (aux + 100) / 400    
  24.     # sum monthly and day offsets
  25.     dayOfWeek += offset[month - 1] + (day - 1)              
  26.     dayOfWeek %= 7
  27.     return week[dayOfWeek]
  28.    
  29. import datetime
  30. now = datetime.datetime.now()
  31. thisYear = now.year
  32. count = 0
  33.  
  34. for year in range(1700, 2017+1):
  35.     for month in range(1, 12+1):
  36.         if weekDay(year, month, 13) == "Friday":
  37.             print (str(13) + "/" + str(month) + "/" + str(year))
  38.             count +=1
  39.  
  40. print("There's been " + str(count) + " Friday 13ths since 1700!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement