Faça um programa que receba do usuário um arquivo texto. Crie outro arquivo texto contendo o texto do arquivo de entrada, mas com as vogais substituídas por ‘*’.
Passo 1
O programa precisa ler um arquivo de texto, processar seu conteúdo substituindo todas as vogais por ‘*’ e salvar o resultado em outro arquivo. O conteúdo aqui envolve manipulação de arquivos (file I/O) e substituição de caracteres em strings.
Passo 2
Pedir ao usuário o nome do arquivo de entrada e do arquivo de saída. Assim o programa sabe onde ler e onde gravar o texto modificado.
Passo 3
Abrir o arquivo de entrada em modo de leitura e o arquivo de saída em modo de escrita. Tratar exceções caso o arquivo de entrada não exista ou ocorra algum erro de I/O.
Passo 4
Ler o arquivo de entrada linha a linha. Para cada linha, percorrer cada caractere e verificar se é uma vogal (a, e, i, o, u maiúsculas ou minúsculas). Se for vogal, substituir por ‘*’; caso contrário, manter o caractere.
Passo 5
Escrever a linha já processada no arquivo de saída imediatamente após a substituição. Repetir até o fim do arquivo de entrada.
Passo 6
Fechar ambos os arquivos e informar ao usuário que o arquivo de saída foi gerado com sucesso, ou exibir mensagem de erro adequada se algo falhou.
Resposta
def replace_vowels(text):
vowels = "aeiouAEIOU"
return "".join('*' if c in vowels else c for c in text)
def main():
input_file = input("Digite o nome do arquivo de entrada: ")
output_file = input("Digite o nome do arquivo de saída: ")
try:
with open(input_file, 'r', encoding='utf-8') as fin, \
open(output_file, 'w', encoding='utf-8') as fout:
for line in fin:
new_line = replace_vowels(line)
fout.write(new_line)
print(f"Arquivo '{output_file}' criado com sucesso!")
except FileNotFoundError:
print(f"Arquivo '{input_file}' não encontrado.")
except Exception as e:
print("Ocorreu um erro:", e)
if __name__ == "__main__":
main()