associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

ContaLetras

Receita: Contar letras, vogais e consoantes de um texto

Este é o tipo de problema que sempre cai em Gincanas, então resolvi fazer um programa pra resolver.

Código

   1 # -*- coding: cp1252 -*-
   2 
   3 # Conta as letras, vogais e consoantes de um texto
   4 # 03/2007 - Marco André - marco@sociesc.org.br
   5 
   6 #texto exemplo: Hino à Bandeira
   7 texto = """\
   8 Salve, lindo pendão da esperança,
   9 Salve, símbolo augusto da paz!
  10 Tua nobre presença à lembrança
  11 A grandeza da Pátria nos traz.
  12 
  13 Recebe o afeto que se encerra
  14 Em nosso peito juvenil,
  15 Querido símbolo da terra,
  16 Da amada terra do Brasil!
  17 
  18 Em teu seio formoso retratas
  19 Este céu de puríssimo azul,
  20 A verdura sem par destas matas,
  21 E o esplendor do Cruzeiro do Sul.
  22 
  23 Recebe o afeto que se encerra
  24 Em nosso peito juvenil,
  25 Querido símbolo da terra,
  26 Da amada terra do Brasil!
  27 
  28 Contemplando o teu vulto sagrado,
  29 Compreendemos o nosso dever;
  30 E o Brasil, por seus filhos amado,
  31 Poderoso e feliz há de ser.
  32 
  33 Recebe o afeto que se encerra
  34 Em nosso peito juvenil,
  35 Querido símbolo da terra,
  36 Da amada terra do Brasil!
  37 
  38 Sobre a imensa Nação Brasileira,
  39 Nos momentos de festa ou de dor,
  40 Paira sempre, sagrada bandeira,
  41 Pavilhão da Justiça e do Amor!
  42 
  43 Recebe o afeto que se encerra
  44 Em nosso peito juvenil,
  45 Querido símbolo da terra,
  46 Da amada terra do Brasil!
  47 """
  48 
  49 print "Conta Letras - Vogais e Consoantes\n"
  50 
  51 texto = texto.lower() #converte para minúsculas
  52 #removem espaços, linhas e símbolos de pontuação
  53 texto = texto.replace(" ","")
  54 texto = texto.replace("\n","")
  55 texto = texto.replace(".","")
  56 texto = texto.replace("!","")
  57 texto = texto.replace("?","")
  58 texto = texto.replace(",","")
  59 texto = texto.replace(";","")
  60 
  61 #removem acentos e cedilha
  62 texto = texto.replace("á","a")
  63 texto = texto.replace("à","a")
  64 texto = texto.replace("ã","a")
  65 texto = texto.replace("é","e")
  66 texto = texto.replace("ê","e")
  67 texto = texto.replace("í","i")
  68 texto = texto.replace("ó","o")
  69 texto = texto.replace("ô","o")
  70 texto = texto.replace("ú","u")
  71 texto = texto.replace("ç","c")
  72 
  73 vogais = 0
  74 consoantes = 0
  75 
  76 for caracter in texto:
  77     if caracter in 'aeiou':
  78        vogais = vogais + 1
  79     else:
  80        consoantes = consoantes + 1
  81         
  82 print "Vogais: %d" %vogais
  83 print "Consoantes: %d" %consoantes
  84 print "Total de letras: %d - %d" %(len(texto), (vogais+consoantes))

A saída, neste caso, fica assim:

 Conta Letras - Vogais e Consoantes
 
 Vogais: 346
 Consoantes: 389
 Total de letras: 735 - 735

Volta para CookBook.


MarcoAndreLopesMendes