Python 3, 66 63 bytes
Graças às idéias das respostas JavaScript / ES aqui, consegui espremer alguns bytes. Indexar um dicionário - chaves inexistentes aumentarão a KeyError
. O código a seguir funciona no fuso horário local
import time;print({1:'Merry Christmas'}['c 25'in time.ctime()])
O formato de saída para ctime
não depende da localidade - o formato é sempre ~ 'Sun Dec 25 19:23:05 2016'
. Como somente em dezembro termina a abreviação de três letras c
, é seguro usá-lo 'c 25'in time.ctime()
aqui.
Versão anterior:
Isso funciona no fuso horário UTC. Para o fuso horário local, é necessário s/gm/local
mais 3 bytes. No Python 2, pode-se remover parênteses de print
65 bytes.
import time;print({(12,25):'Merry Christmas'}[time.gmtime()[1:3]])
A construção lança KeyError
em outras datas:
>>> 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)