[ExI] intermittent liar

Aware aware at awareresearch.com
Wed Feb 2 07:05:28 UTC 2011

2011/1/22 spike <spike66 at att.net>:
> Oh my, I found a most excellent puzzle today.  I found an answer, don’t know
> yet if it is right.  See what you find:

The mechanical no-brainer method:

#!/usr/bin/env python

Larry always tells lies during months that begin with vowels but always tells
the truth during the other months. During one particular month, Larry makes
these two statements:
    - I lied last month.
    - I will lie again six months from now.
    During what month did Larry make these statements?

months = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split()
vowels = ('A', 'E', 'I', 'O', 'U')
truth_months = [m for m in months if not m.startswith(vowels)]

def displace(month, disp):
    return months[(months.index(month) + disp) % 12]

def asserts(month):
    return [displace(month, -1) not in truth_months,
              displace(month, 6) not in truth_months]

for month in months:
    if (month in truth_months and
        month not in truth_months and
        not any(asserts(month))):
        print month

Result: Aug

More information about the extropy-chat mailing list