Hace tiempo leí en algún lugar, que en una universidad del Reino Unido, se habia hecho
un estudio que afirmaba que no importa el orden de las letras en una palabra mientras
la primera y la última letras siguieran en sus lugares correctos. Parece que cuando leemos
un texto nos fijamos en las palabras como un todo y no leemos letra por letra.
Este programa toma como parámetro la ruta a un fichero y devuelve otro codificado
en estos términos.
Código Python:
Ver original"""
Created on Wed Apr 2 14:33:20 2014
@author: sukoy
Licencia gnu/gpl
"""
#!/usr/bin/env python
import sys
import random
import codecs
f = sys.argv[1]
with codecs.open(f, encoding='latin-1') as fix:
origin = fix.readlines()
def formatLine(line):
s = ''
for word in line.split(' '):
wf = '' # fin palabra
wr = '' # mitad
wp = '' # principio
point = ''
pointP = ''
w = ''
word = word.rstrip()
if all(i.isalpha() for i in word):
if len(word) > 3:
wf = word[-1]
wp = word[0]
wr = word[1:-1]
else:
w = word
wr, wp, wf, point, pointP = '','','','',''
elif not any(i.isalpha() for i in word):
w = word
wr, wp, wf, point, pointP = '','','','',''
elif not word[-1].isalpha():
point = word[-1]
if len(word) > 3:
if word[0].isalpha():
wf = word[-2]
wp = word[0]
wr = word[1:-2]
else:
wf = word[-2]
wp = word[1]
wr = word[1:-2]
pointP = word[0]
else:
w = word
wr, wp, wf, point, pointP = '','','','',''
else:
w = word
wr, wp, wf, point, pointP = '','','','',''
if wr:
w = ''.join(random.sample(wr, len(wr)))
else:
w = word
fs = pointP + wp + w + wf + point
s += fs + ' '
return s.rstrip()+ '\n'
with codecs.open('dest.txt', encoding='latin-1', mode='w+') as dest:
final = []
for line in origin:
nv = formatLine(line)
final.append(nv)
dest.write(nv)
Código:
Hcae tpiemo leí en aglún luagr, que en una udvnireisad del Rneio Udnio, se haiba hceho
un ediusto que abamrfia que no itpomra el oerdn de las lerats en una pbaalra menatris
la perimra y la úilmta lretas sieruagin en sus laerugs ctoorercs. Pacree que cnuado lmeeos
un texto nos fjoaims en las praaabls cmoo un tdoo y no loeems lerta por ltera.
Etse pgmarora tmoa cmoo pátrmraeo la ruta a un friheco y dvevleue orto cafdioicdo
en etoss toérimns.
No estoy muy seguro
Saludos