Exercícios Resolvidos de Arquivos

Ver Teoria

Enunciado

Ler um arquivo e exibir a quantidade de palavras presentes no arquivo indicado pelo usuário.

Passo 1

Fala aí! Nessa questão, vamos abrir um arquivo e contar quantas palavras tem dentro dele. Depois, a gente já pode fechar esse arquivo. A gente não pode esquecer de fechar, hein...

Então, bora resolver! Vamos começar perguntando pro usuário qual o nome do arquivo que a gente precisa ler. Pra isso, vamos usar a função input().

Aí, quando a gente já tiver o nome, a gente pode abrir o arquivo. Mas se liga, como a gente vai só abrir pra ler e não vai mexer em nada, então a gente pode pedir só permissão de leitura (“r”).

Tipo assim, viu?! Aí agora a gente já tem o arquivo aberto e salvo na variável arq. Vamos contar as palavras!

Passo 2

Cara, existem várias formas de fazer isso (assim como todas as resoluções de prog). Mas eu vou escolher fazer uma iteração por todas as linhas do arquivo. Sabia que a gente pode fazer isso com o laço for?

Se a gente somar a quantidade de palavras que tem em cada linha, no fim a gente vai ter a quantidade total, né? Bora declarar uma variável FORA do for pra gente armazenar esse conteúdo então…

Antes de começar a contar, temos 0 palavras. A cada palavra encontrada a gente soma 1 nessa variável! Mas, você tem alguma ideia de como contar as palavras de uma linha?!

Relaxa, eu tenho uma! Vem comigo.

Passo 3

Pra gente entender a ideia, bora olhar pra essa frase aqui:

Essa frase tem 4 palavras… E tem 3 espaços! Vamos olhar uma outra frase:

4 palavras também… E olha, 3 espaços. Será que é assim sempre???

Vamos testar mais uma:

Tem 10 e palavras e… 9 espaços! Cara, parece que a quantidade de palavras é sempre a quantidade de espaços +1. A gente pode usar isso pro nosso programa!

Então vamos implementar! Também existem várias formas, é claro, mas escolhi separar nossa string em uma lista, usando espaço como separador. Pra fazer isso, vamos usar a função split().

Repara que, dessa forma, o método split() faz uma separação na string a cada espaço. Assim, a quantidade de palavras fica igual a quantidade de itens na lista, que a gente pode descobrir com a função len(). Olha como fica no código:

Show! O código atual já é capaz de calcular a quantidade de palavras de um arquivo, mas a gente precisa exibir essa informação pro usuário ainda! Vamos fazer isso...

Passo 4

Bom, pra exibir essa informação pro usuário, vamos usar a função print(). Com ela, vamos usar também formatação de string (que, caso você não lembre, tem aqui na playlist no tópico de operações com string, blz?).

Pronto. Mas aí eu te pergunto… Terminamos?

A gente ainda precisa fechar o arquivo, jae? E pra isso, a gente só precisa chamar o método close() do arquivo no fim!

E agora sim! Mas antes de finalizar, vamos testar...

Passo 4

Pra testar, eu vou usar um arquivo que eu já tenho aqui, mas você poderia criar um qualquer com o bloco de notas, beleza?! Na real, geralmente as questões de arquivos em prova já vem com o arquivo no PC, mas esse enunciado não veio. Então a gente pode testar nós mesmos, sem problemas. O arquivo que vou usar pra testar é esse:

Contei aqui e deu 33 palavras. Vamos ver o que o programa nos diz…

Aí sim! hahaha deu bom… Com isso, finalizamos o exercício! Valeuuu

Resposta