Python 3, 66 63 байта
Благодаря идеям из ответов JavaScript / ES здесь мне удалось сжать несколько байтов. Индексируйте словарь - несуществующие ключи будут вызывать KeyError
. Следующий код работает в местном часовом поясе
import time;print({1:'Merry Christmas'}['c 25'in time.ctime()])
Выходной формат для ctime
не зависит от локали - формат всегда ~ 'Sun Dec 25 19:23:05 2016'
. Поскольку только в декабре заканчивается трехбуквенное сокращение c
, его можно использовать 'c 25'in time.ctime()
здесь.
Предыдущая версия:
Это работает в часовом поясе UTC. Для местного часового пояса требуется еще s/gm/local
3 байта. Для Python 2 можно удалить круглые скобки из- print
за 65 байтов.
import time;print({(12,25):'Merry Christmas'}[time.gmtime()[1:3]])
Конструкция выбрасывает KeyError
на другие даты:
>>> import time;print({(1,1):'Happy New Year'}[time.gmtime()[1:3]])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: (12, 25)