Questão
ID 67353Disciplina: Tecnologia da Informação
Assuntos: Programação Estruturada, Python
Ano: 2025 Banca: PERFIL - ENADE Órgão: Terceiro Simulado Pnd
Um professor de programação para iniciantes está ensinando o conceito de arrays (ou listas, em Python). Seus alunos já sabem como criar uma lista e acessar seus elementos usando um índice. Agora, ele quer ensinar como iterar sobre os elementos de uma lista usando um laço `for`. Ele observa que existem diferentes padrões de laço `for` que podem ser usados, e quer que os alunos entendam a diferença entre iterar diretamente sobre os elementos e iterar sobre os índices. Para isso, ele apresenta duas formas de escrever um laço em Python para imprimir cada item de uma lista de compras:
Forma 1 (Iterando sobre os elementos): `lista_compras = ['maçã', 'banana', 'leite'] for item in lista_compras: print(item)`
Forma 2 (Iterando sobre os índices): `lista_compras = ['maçã', 'banana', 'leite'] for i in range(len(lista_compras)): print(lista_compras[i])`
Ele cita o guia de estilo da comunidade Python (PEP 8): "Para iterar sobre uma sequência, é preferível usar o laço direto sobre os elementos (`for item in sequencia:`), pois é mais limpo, mais legível e menos propenso a erros (como o 'off-by-one error' ao manipular índices). A iteração sobre os índices (`for i in range(len(sequencia)):`) deve ser usada apenas quando você precisar do próprio índice dentro do laço, por exemplo, para modificar a lista no local ou para acessar outra lista em paralelo."
Considerando a tarefa de apenas imprimir os itens da lista e as recomendações de estilo, qual é a análise correta das duas formas?