Considere o código Python a seguir. L=[0,1,1,2,3,5,8,13,21]...

Próximas questões
Com base no mesmo assunto
Q1902420 Programação
Considere o código Python a seguir.
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. 
Alternativas

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] = 0
  • L[2] = 1
  • L[4] = 3
  • L[6] = 8
  • L[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(0len(L)2)" = range(startstopstep)

Logo: 0,1,3,8,21

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo