fork download
  1. # Diccionarios, bucles, decisión
  2. # Frecuencias
  3. # Calcula las frecuencias de cada carácter en un texto pedido por teclado.
  4.  
  5. # Pedir los datos
  6. texto = input("Dame un texto: ")
  7. texto = str.lower(str.strip(texto))
  8. frecs = {}
  9.  
  10. # Tratar las vocales acentuadas
  11. texto = str.replace(texto, 'á', 'a')
  12. texto = str.replace(texto, 'é', 'e')
  13. texto = str.replace(texto, 'í', 'i')
  14. texto = str.replace(texto, 'ó', 'o')
  15. texto = str.replace(texto, 'ú', 'u')
  16. texto = str.replace(texto, 'ü', 'u')
  17.  
  18. # Inicializar el diccionario de frecuencias
  19. for x in "abcdefghijklmnpqrstuvwxyzñ":
  20. frecs[x] = 0
  21.  
  22. # Calcular las frecuencias en el texto
  23. for x in texto:
  24. if x in frecs:
  25. frecs[x] += 1
  26.  
  27. # Visualizar los resultados
  28. claves_ordenadas = list(dict.keys(frecs))
  29. list.sort(claves_ordenadas)
  30. for k in claves_ordenadas:
  31. frec = frecs[k]
  32. if frec > 0:
  33. print(str.format("Letra {0} aparece: {1} vece(s).", k, frec))
  34.  
Success #stdin #stdout 0.02s 28384KB
stdin
Este es un texto de prueba para comprobar cómo funciona el cálculo de frecuencias del programa.
stdout
Dame un texto: Letra a aparece: 9 vece(s).
Letra b aparece: 2 vece(s).
Letra c aparece: 7 vece(s).
Letra d aparece: 3 vece(s).
Letra e aparece: 11 vece(s).
Letra f aparece: 2 vece(s).
Letra g aparece: 1 vece(s).
Letra i aparece: 2 vece(s).
Letra l aparece: 4 vece(s).
Letra m aparece: 3 vece(s).
Letra n aparece: 4 vece(s).
Letra p aparece: 4 vece(s).
Letra r aparece: 7 vece(s).
Letra s aparece: 3 vece(s).
Letra t aparece: 3 vece(s).
Letra u aparece: 5 vece(s).
Letra x aparece: 1 vece(s).