Código de Python - Funcion que retorna el numero de veces que aparecen las letras de una cadena

Imágen de perfil

Funcion que retorna el numero de veces que aparecen las letras de una cadenagráfica de visualizaciones


Python

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 16 de Diciembre del 2016 por kip
1.636 visualizaciones desde el 16 de Diciembre del 2016. Una media de 28 por semana
Función que recibe una cadena y retorna un diccionario con cada letra y el número de veces que aparece en la cadena dada, ejemplos de uso:

Python 2.x
1
2
3
4
datos = enum_letras('Oscuridad para asuntos oscuros')
for letra, num in datos.iteritems():
    cont = 'z' if (num < 2) else 'ces'
    print 'La letra %s se repite %s ve%s' % (letra, num, cont)

1
2
3
4
5
6
7
8
9
10
11
La letra a se repite 4 veces
La letra c se repite 2 veces
La letra d se repite 2 veces
La letra i se repite 1 vez
La letra o se repite 4 veces
La letra n se repite 1 vez
La letra p se repite 1 vez
La letra s se repite 5 veces
La letra r se repite 3 veces
La letra u se repite 3 veces
La letra t se repite 1 vez

Python 3.x
1
2
3
4
datos = enum_letras('Oscuridad para asuntos oscuros')
for letra, num in datos.items():
    cont = 'z' if (num < 2) else 'ces'
    print ('La letra %s se repite %s ve%s' % (letra, num, cont))

1
2
3
4
5
6
7
8
9
10
11
La letra t se repite 1 vez
La letra d se repite 2 veces
La letra u se repite 3 veces
La letra s se repite 5 veces
La letra a se repite 4 veces
La letra p se repite 1 vez
La letra c se repite 2 veces
La letra i se repite 1 vez
La letra r se repite 3 veces
La letra n se repite 1 vez
La letra o se repite 4 veces

Se debe tener cuidado con las palabras con acentos, en la version 2 de Python la libreria re no reconoce ninguna palabra con acento en su busqueda mientras que en la 3 si lo hace, por eso he añadido dos códigos, uno para cada version.

Requerimientos

Python 2.X Python 3.X

1.0
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 07 de Enero del 2017 (Publicado el 16 de Diciembre del 2016)gráfica de visualizaciones de la versión: 1.0
1.637 visualizaciones desde el 16 de Diciembre del 2016. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'''
PYTHON 2.X
'''
import re
 
def enum_letras(palabra = ''):
    palabra = unicode(palabra, 'utf-8').lower()
    letras_num = {}
    for letra in set(re.findall(r'(\w)', palabra, re.UNICODE)):
        letras_num[letra.encode('utf-8')] = palabra.count(letra)
    return letras_num
 
'''
PYTHON 3.X
'''
import re
 
def enum_letras(palabra = ''):
    palabra = palabra.lower()
    letras_num = {}
    for letra in set(re.findall(r'(\w)', palabra)):
        letras_num[letra] = palabra.count(letra)
    return letras_num



Comentarios sobre la versión: 1.0 (1)

Imágen de perfil
xve
16 de Diciembre del 2016
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s3810