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.