[Código-Python]Contar repeticion de letras en un texto - JaAViEr|0x5d

Iniciado por 0x5d, 24 Abril 2012, 07:15 AM

0 Miembros y 1 Visitante están viendo este tema.

0x5d

Hola, buen día gente ! :P
En esta oportunidad hice un código que nos pedirá un texto cualquiera y contará cuantas veces se repite cada letra en el texto:
Código (python) [Seleccionar]
# Autor: 0x5d | JaAViEr
# Twitter: @0x5d
# Fuente : http://rootcodes.com
string, lista, nueva = (raw_input(">"), [], [])
for h in string:
contador=0
for s in string:
if h == s:
contador += 1
lista.append("%s:%s"%(h,contador))
out = [nueva.append(nn) for nn in lista if nn not in nueva]
print "Repeticiones:"
for salida in nueva: print salida

Ejemplo de salida:jaavier@Debian:~/codigos$ python repeticiones.py
>hola, saludos a todos
Repeticiones:
h:1
o:4
l:2
a:3
,:1
:3
s:3
u:1
d:2
t:1

Fácilmente podrían hacer para que haga lo mismo pero desde un archivo :P

Saludos, Javier.
¡ SIGUEME EN TWITTER -> @JavierEsteban__ !

Karcrack

Mi versión:
Código (python) [Seleccionar]
def count_letters(s,clean_null=False):
    r=dict(zip(map(chr,range(0,256)), [0]*255))
    for c in s:
        r[c]+=1
    if clean_null:
        r = dict([(k,i) for k,i in r.items() if i>0])
    return r

print count_letters(raw_input(),True)


hola, saludos a todos
{'a': 3, ' ': 3, 'd': 2, 'h': 1, 'l': 2, 'o': 4, ',': 1, 's': 3, 'u': 1, 't': 1}