# Odd-numbered Days

Whilst chatting on the #minecraft channel on freenode, somebody comes out with:

```<Dinnerbone> I love that 50% of thursdays are odd-numbered days
<Dinnerbone> Makes the near-end-of-week that much more interesting
```

Which got me thinking... Are 50% of Thursdays on odd-numbered days? Probably not, at least not in every year. Some hacky Python code ensues...

```#!/usr/bin/env python3
import sys
import datetime
from collections import defaultdict

def generate_year(year):
delta = datetime.timedelta(days=1)
date = datetime.date(year, 1, 1)

while date.year == year:
yield date
date = date + delta

day_numbers = defaultdict(list)

for date in generate_year(int(sys.argv)):
day_numbers[date.isoweekday()].append(int(date.strftime('%m')))

day_odd_prob = {}
for day, nums in day_numbers.items():
odd = 0
even = 0
for n in nums:
if n % 2 == 0:
even += 1
else:
odd += 1
day_odd_prob[day] = odd / (odd + even)

DAYS = ('Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat', 'Sun')

for day in sorted(day_odd_prob.keys()):
print('{}\t{}'.format(DAYS[day-1], day_odd_prob[day]))
```

Now if for some bizarre reason you really want to know what proportion of Thursdays (or any other day) fall on odd-numbered days in any given year, you can find out:

```\$ python3 odd_days.py 2012
Mon     0.49056603773584906
Tues    0.5192307692307693
Wed     0.4807692307692308
Thurs   0.5192307692307693
Fri     0.5
Sat     0.5
Sun     0.5094339622641509

\$ python3 odd_days.py 2013
Mon     0.5
Tues    0.49056603773584906
Wed     0.5192307692307693
Thurs   0.5
Fri     0.5192307692307693
Sat     0.5
Sun     0.5
```