Python 3, 66 63 bayt
JavaScript / ES cevaplarından gelen fikirler sayesinde bazı baytları sıkmayı başardım. Sözlük dizin - varolmayan anahtarlar a yükseltir KeyError
. Aşağıdaki kod yerel saat diliminde çalışır
import time;print({1:'Merry Christmas'}['c 25'in time.ctime()])
İçin çıktı biçimi ctime
yerel bağımlı değildir - biçim her zaman ~ dir 'Sun Dec 25 19:23:05 2016'
. 3 Aralıklı kısaltmanın yalnızca Aralık ayında bitmesi nedeniyle c
, burada kullanılması güvenlidir 'c 25'in time.ctime()
.
Önceki versiyon:
Bu UTC saat diliminde çalışır. Yerel saat dilimi s/gm/local
için 3 bayt daha gerekir. Python 2 print
için parantez 65 byte'dan çıkarılabilir .
import time;print({(12,25):'Merry Christmas'}[time.gmtime()[1:3]])
Yapı KeyError
diğer tarihlere atar :
>>> 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)