第15关,题目是 whom? 有一张图片,是个日历。日历的年份是 1XX6,中间是被挖去的洞。然后图中1月26日被画了个圈,当天是星期一。右下角的二月小图中有29号,可以得知这是闰年。然后查看源代码。有两行注释信息:
<!-- he ain't the youngest, he is the second --> <!-- todo: buy flowers for tomorrow -->
他不是最小的,他是第二小的。记得明天买花。这样来看,这个人是男的。我们要求的可能是1月27日,星期二,买花的话可能是他的生日,而且很有可能是个已经过世的名人。所以,首先应该把符合要求的日期给求出来。去网上搜了下,Python 中跟日期有关的有 calendar 和 datetime 两个模块。
from calendar import isleap from datetime import date TUE = 1 for year in xrange(1006, 1997, 10): dobj = date(year, 1, 27) if isleap(year) and dobj.weekday() == TUE: print dobj.isoformat()
输出的结果为:
1176-01-27
1356-01-27
1576-01-27
1756-01-27
1976-01-27
然后把这几个日期到百度中搜索,只有1756年1月27号是莫扎特的生日。再去搜索莫扎特,在家排行老七,有一个弟弟和姐姐,前五个孩子都夭折。看来符合第二小的条件,就试试改 url 为 mozart,进入了下一关:http://www.pythonchallenge.com/pc/return/mozart.html