1.
def
elimina_vogais(texto):
2.
""" Elimina as vogais do texto."""
3.
vogais
=
'aeiouAEIOU'
4.
novo_texto
=
''
5.
for
car
in
texto:
6.
if
car
not
in
vogais:
7.
novo_texto
=
novo_texto
+
car
8.
return
novo_texto
1.
def
elimina_vogais(texto):
2.
""" Retira as vogais numa cadeia, substituindo-as por espaços em branco."""
3.
vogais
=
'aeiou'
4.
for
car
in
vogais:
5.
texto
=
texto.replace(ch,
' '
)
6.
return
texto
Como se pode ver agora usamos as vogais para conduzir o processo de eliminação. Isto evita ter que andar num longo percurso do texto, caracter a caracter, e fazer um processo de selecção com um if como na primeira solução. Note-se também que enquanto no primeiro caso usamos uma variável auxiliar (novo_texto), no segundo caso não. Esta solução é fácil de tornar mais geral. Por exemplo, se quisermos um programa que elimine um subconjunto de caracteres quaisquer basta alterar uma instrução e uns pequenos ajustes, ou, melhor ainda, passar esses caracteres através de um parâmetro formal.
1.
def
elimina_caracteres(texto, caracteres):
2.
""" Retira os caracteres numa cadeia, substituindo-as por espaços em branco."""
3.
for
car
in
caracteres:
4.
texto
=
texto.replace(ch,
' '
)
5.
return
texto
01.
def
elimina_caracteres_d(texto, funcao):
02.
"""
03.
Elimina os caracteres que satisfazem uma condição dada pela funcao.
04.
A funcao aplica-se a um caractere dando um resultado booleano: é um filtro!
05.
"""
06.
novo_texto
=
''
07.
for
car
in
texto:
08.
if
not
funcao(car):
09.
novo_texto
=
novo_texto
+
car
10.
return
novo_texto
11.
12.
13.
def
f(car):
14.
return
(
44
<
=
ord(car) <
=
75
)
15.
16.
def
vogue(car):
17.
return
car
in
'aeiouAEIOU'
Sem comentários:
Enviar um comentário