Faça um programa que receba do usuário um arquivo texto e mostre na tela quantas letras são vogais.
Passo 1
O problema pede um programa que receba do usuário o nome (ou caminho) de um arquivo de texto e conte quantas letras desse arquivo são vogais.
Passo 2
Para começar, precisamos obter do usuário o caminho do arquivo e tentar abri-lo em modo de leitura. Se ocorrer erro (arquivo não existe, por exemplo), exibimos uma mensagem de erro.
Passo 3
Com o arquivo aberto, lemos todo o seu conteúdo como uma única string. Isso facilita percorrer cada caractere.
Passo 4
Definimos um conjunto de vogais (por exemplo, {“a”,“e”,“i”,“o”,“u”,“A”,“E”,“I”,“O”,“U”}). Então iteramos cada caractere do texto e, sempre que ele pertencer a esse conjunto, incrementamos um contador.
Passo 5
Depois de percorrer todo o texto, exibimos na tela o valor do contador, que representa a quantidade de letras vogais encontradas. Em seguida fechamos o arquivo.
Passo 6
Opcionalmente, podemos tratar acentos ou caracteres especiais estendendo o conjunto de vogais, mas o enunciado não exige isso explicitamente.
Resposta
Programa em Python para contar vogais em um arquivo texto
def contar_vogais(em_texto):
vogais = set(‘aeiouAEIOU’)
contador = 0
for caractere in em_texto:
if caractere in vogais:
contador += 1
return contador
vogais = set(‘aeiouAEIOU’)
contador = 0
for caractere in em_texto:
if caractere in vogais:
contador += 1
return contador
def main():
nome_arquivo = input(“Digite o caminho do arquivo de texto: “)
try:
with open(nome_arquivo, ‘r’, encoding=‘utf-8’) as arquivo:
conteudo = arquivo.read()
except FileNotFoundError:
print(f"Erro: arquivo ‘{nome_arquivo}’ não encontrado.”)
return
except Exception as e:
print(f"Erro ao abrir o arquivo: {e}”)
return
nome_arquivo = input(“Digite o caminho do arquivo de texto: “)
try:
with open(nome_arquivo, ‘r’, encoding=‘utf-8’) as arquivo:
conteudo = arquivo.read()
except FileNotFoundError:
print(f"Erro: arquivo ‘{nome_arquivo}’ não encontrado.”)
return
except Exception as e:
print(f"Erro ao abrir o arquivo: {e}”)
return
total_vogais = contar_vogais(conteudo)
print(f"Total de letras vogais no arquivo: {total_vogais}")
if name == “main”:
main()
main()