elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Código-Python]Contar repeticion de letras en un texto - JaAViEr|0x5d
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Código-Python]Contar repeticion de letras en un texto - JaAViEr|0x5d  (Leído 13,343 veces)
0x5d

Desconectado Desconectado

Mensajes: 241



Ver Perfil WWW
[Código-Python]Contar repeticion de letras en un texto - JaAViEr|0x5d
« en: 24 Abril 2012, 07:15 am »

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
  1. # Autor: 0x5d | JaAViEr
  2. # Twitter: @0x5d
  3. # Fuente : http://rootcodes.com
  4. string, lista, nueva = (raw_input(">"), [], [])
  5. for h in string:
  6. contador=0
  7. for s in string:
  8. if h == s:
  9. contador += 1
  10. lista.append("%s:%s"%(h,contador))
  11. out = [nueva.append(nn) for nn in lista if nn not in nueva]
  12. print "Repeticiones:"
  13. for salida in nueva: print salida
Ejemplo de salida:
Código:
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.


En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [Código-Python]Contar repeticion de letras en un texto - JaAViEr|0x5d
« Respuesta #1 en: 26 Abril 2012, 01:23 am »

Mi versión:
Código
  1. def count_letters(s,clean_null=False):
  2.    r=dict(zip(map(chr,range(0,256)), [0]*255))
  3.    for c in s:
  4.        r[c]+=1
  5.    if clean_null:
  6.        r = dict([(k,i) for k,i in r.items() if i>0])
  7.    return r
  8.  
  9. print count_letters(raw_input(),True)

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


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines