[pyar] el zen de python en

Martín Gaitán gaitan en gmail.com
Vie Jul 9 11:50:16 ART 2010


Estaba escribiendo un benchmark para ver si me sive usar esto [1]
(estoy usando unos binarios fortran  *alla* 'blackbox'  cuya interfaz
de i/o es mediante archivos de texto, lo que se vuelve lento y feo) y
para escribir archivos largos necesitaba un dummy text:  se me ocurrió
usar el Zen.
fui a ver el código [2] y me llevé la sorpresa de que lo que conocemos
como Zen de Python es una traducción de este original:

Gur Mra bs Clguba, ol Gvz Crgref

Ornhgvshy vf orggre guna htyl.
Rkcyvpvg vf orggre guna vzcyvpvg.
Fvzcyr vf orggre guna pbzcyrk.
Pbzcyrk vf orggre guna pbzcyvpngrq.
Syng vf orggre guna arfgrq.
Fcnefr vf orggre guna qrafr.
Ernqnovyvgl pbhagf.
Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf.
Nygubhtu cenpgvpnyvgl orngf chevgl.
Reebef fubhyq arire cnff fvyragyl.
Hayrff rkcyvpvgyl fvyraprq.
Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff.
Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg.
Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu.
Abj vf orggre guna arire.
Nygubhtu arire vf bsgra orggre guna *evtug* abj.
Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn.
Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn.
Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!"""


=D

La traducción al inglés, estando el original en la variable s:


d = {}
for c in (65, 97):
    for i in range(26):
        d[chr(i+c)] = chr((i+13) % 26 + c)

print "".join([d.get(c, c) for c in s])


código que bien podría venderse como un traductor polaco-inglés. ;-)


[1] http://code.google.com/p/pyfilesystem/source/browse/trunk/fs/memoryfs.py
[2] >>> import this, inspect; print inspect.getsource(this)



More information about the pyar mailing list