Considere o código Python a seguir. L=[0,1,1,2,3,5,8,13,21]...
L=[0,1,1,2,3,5,8,13,21] for k in range(0,len(L),2): print (L[k])
Assinale o resultado exibido pela execução desse código, na IDLE Shell 3.9.9.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a D, que afirma que o resultado exibido pela execução do código é "0, 1, 3, 8, 21".
Para resolver essa questão, precisamos entender como funciona o laço de repetição for em conjunto com a função range em Python, bem como a indexação de listas.
O comando for k in range(0, len(L), 2):
define uma estrutura de repetição que começa com k igual a 0 e continua incrementando k de 2 em 2 até que k seja menor que o comprimento da lista L
, que é obtido através da função len(L)
. Portanto, k vai assumir os valores 0, 2, 4, 6, 8 durante o laço.
A lista L
fornecida é [0, 1, 1, 2, 3, 5, 8, 13, 21]
.
A cada iteração do laço, o programa executa print(L[k])
, o que significa que ele vai imprimir o elemento da lista L
na posição k
. Como o laço percorre a lista pulando de dois em dois índices (devido ao terceiro argumento do range
, que é o passo), ele vai imprimir os elementos nas posições 0, 2, 4, 6 e 8 da lista.
Ao acessarmos esses índices na lista L
, obtemos os valores:
L[0]
= 0L[2]
= 1L[4]
= 3L[6]
= 8L[8]
= 21
Portanto, o código exibe os números 0, 1, 3, 8, 21, confirmando que a alternativa D está correta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
GAB D
"range(0, len(L), 2)" = range(início, fim, passo)
0, 1, 3, 8, 21
Pq o 21 foi inserido??? ele nao seria o STOP?
d-
o for loop itera sobre o range de indices em L usando metodo range. range tme 3 ARGS: start index, end index (length de L) e o step size (2 na questao). quer dizer o print vai mostrar comecando do 1° item (L[0]), enato 3° (L[2]), o 5° (L[4]) etc
GABARITO: D
range(0, len(L), 2)" = range(start, stop, step)
Logo: 0,1,3,8,21
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo