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:
# 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.
Mi versión:
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}