Questão nº 72
Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 72)
Considere o arquivo de texto q02.txt com o seguinte conteúdo (entre as aspas):
“O TRF1 é um órgão da Justiça Federal brasileira.
O TRF2 é um órgão da Justiça Federal brasileira.
O TRF3 é um órgão da Justiça Federal brasileira.
O TRF4 é um órgão da Justiça Federal brasileira.
O TRF5 é um órgão da Justiça Federal brasileira.”
Considere o seguinte script em Python:
with open("q02.txt") as f:
n = sum(1 for w in f)
Ao final da execução do script, o valor de n é:
- A0;
- B5; (alternativa correta)
- C9;
- D45;
- ENone.
Resposta comentada
Gabarito Alternativa B
Quando você itera diretamente sobre um objeto de arquivo em Python (como f no script), ele lê o arquivo linha por linha. Cada item retornado por essa iteração é uma string que representa uma linha completa do arquivo.
- (A) Incorreta: O arquivo não está vazio e o script executa uma contagem válida, portanto, o resultado não pode ser 0.
- (B) Correta: O script
sum(1 for w in f)funciona como um contador de linhas. Para cada linha (w) que o objeto de arquivofretorna, ele gera o número1. A funçãosum()então adiciona todos esses1s. Como o arquivoq02.txtpossui 5 linhas distintas, o gerador produzirá1cinco vezes, e a soma resultará em5. - (C) Incorreta: Esta alternativa pode ser uma armadilha se o aluno confundir a iteração sobre linhas com a iteração sobre palavras ou caracteres, ou se fizer uma contagem incorreta. O
for w in fitera sobre linhas, não sobre palavras ou caracteres. - (D) Incorreta: Esta é uma armadilha comum. 45 seria o número total de palavras no arquivo (9 palavras por linha * 5 linhas = 45 palavras). No entanto, o
for w in fitera sobre linhas, não sobre palavras. Portanto,wrepresenta uma linha inteira, e não uma palavra. - (E) Incorreta: O script atribui um valor numérico à variável
napós a execução, portanto, o valor não seráNone.
Fonte: FGV TRF1 2024 Técnico Judiciário - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.