import string
def retira_vogais(cad):
"""
Retira as vogais numa cadeia, substituindo-as por espaços em branco.
"""
vogais = 'aeiou'
for ch in vogais:
cad = string.replace(cad,ch,' ')
return cad
Programa que usa o método definido para cadeias replace. A estratégia é simples: um ciclo em que ch vai sendo sucessivamente associado a uma vogal. Em cada passagem pelo ciclo for são retiradas as ocorrências da vogal (linha 8).
Só dois reparos:
ResponderEliminar1º - Apenas por uma questão de segurança, a cadeia vogais deveria ter letras maiúsculas (vogais = 'aeiouAEIOU').
2º - Não será necessário importar o módulo string se em vez de utilizarmos cad = string.replace(cad,ch,' '), utilizarmos cad = cad.replace(ch,' ')
Milton:
ResponderEliminar1- é verdade. alternativa. Antes de vogais = ... colocar cad.lower().
2- São duas formas equivalentes de fazer. Ambas possíveis. No seu caso usa métodos enquanto eu me fico por funções.
3- há sempre a solução complicada mas pode ser que sirva para tirar ideias a alguém:
ResponderEliminardef d213(a):
. i=0
. newa = ""
. for i in range(len(a),):
.. if "AEIOU".find(a[i].upper()) >=0:
... newa = newa + " "
.. else:
... newa = newa + a[i]
. return newa
Professor, porderíamos fazer deste modo?
ResponderEliminardef substituir(palavra):
vogais = [ 'a' , 'e' , 'i' , 'o' , 'u' ]
for i in range(len(palavra)):
if palavra[i] in vogais:
palavra = palavra.replace(palavra[i],' ')
return palavra
Mafalda: podia sim senhor. Atenção no entanto ao caso de ter maiúsculas e minúsculas. Deve passar a palavra a minúsculas (no seu caso).
ResponderEliminar