Analise o script Python 3.8 exibido a seguir. L=["A","E","I","O","U"] for k in range(0,len(L)): print (L[4-k]) Assinale a opção que indica a saída produzida pela execução desse código.
- A)A E I O U
Errada, porque mostra a lista na ordem original, mas o codigo imprime os elementos em ordem inversa.
- B)A E I O
Errada, porque falta o ultimo elemento e, alem disso, a ordem nao corresponde ao acesso L[4-k].
- C)E I O U
Errada, porque comeca em E e ignora A, mas o programa inicia com U e termina com A.
- D)U O I E
Errada, porque a sequencia esta invertida parcialmente e ainda falta o ultimo elemento da lista.
- E)U O I E A
Certa, porque o laço imprime os elementos de L do ultimo ao primeiro: U, O, I, E, A.
Gabarito: E
Neste tipo de questao, voce precisa olhar para duas pecas ao mesmo tempo: o range e o indice usado no acesso da lista. A lista L tem cinco elementos, com indices de 0 a 4: A, E, I, O, U. O comando range(0, len(L)) gera os valores 0, 1, 2, 3 e 4, um por vez. Agora vem a parte decisiva: o print usa L[4-k]. Quando k vale 0, imprime L[4], que e U. Quando k vale 1, imprime L[3], que e O. Depois vem I, E e, por fim, A. Ou seja, o programa percorre a lista ao contrario. Como o laço executa uma vez para cada elemento da lista, a saida contem todos os cinco valores, em ordem inversa, um por linha. Em Python, esse tipo de acesso por indice e totalmente normal: o primeiro elemento fica no indice 0, entao o ultimo esta em len(L)-1, que aqui e 4. Por isso, o gabarito e a alternativa E. A sequencia impressa e U, O, I, E, A, exatamente a leitura da lista de tras para frente.