Pretty cool!
However, some riddles are incorrect, for example this one has two errors:
def foo( vals ):
output = vals[0]
for x in vals[1:]:
if output < x:
output = x
return x
1. It should return output
2. The answer should be "The maximum value", not "The minimum value"
Also, it could be nice if after you solve a riddle you would get a new one.