FC ConcursosFC Concursos

Questão FC331189

Analise o código Python 2.7 a seguir. L1=[] L2=[1,2,3,4] for k in range(3, -4,-1): L1.append(L2[k]) for x in L: print x Esse programa causa

Linguagens de Programação

FGV · 2018

Analise o código Python 2.7 a seguir.


L1=[]
L2=[1,2,3,4]
for k in range(3, -4,-1):
    L1.append(L2[k])
for x in L:
    print x

 

Esse programa causa

  1. erro de sintaxe.
  2. erro de execução.
  3. a exibição dos valores 4,3,2,1,4,3,2 nessa ordem.
  4. a exibição do valor 4, somente.
  5. a exibição dos valores 4,3,2,1 nessa ordem.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

O código gera erro de execução porque, ao final, o laço faz for x in L: e não existe variável chamada L definida no programa. Isso provoca um NameError em tempo de execução: o interpretador não encontra o nome referenciado.

Antes desse ponto, as instruções que preenchem L1 executam normalmente. A expressão range(3, -4, -1) produz os índices 3, 2, 1, 0, -1, -2, -3, e o acesso por índice negativo em L2 é válido, de modo que L1 terminaria como [4, 3, 2, 1, 4, 3, 2].

Porém, esse sucesso é interrompido quando o código tenta iterar sobre L. Em Python, usar um nome inexistente num laço de iteração causa o erro citado, razão pela qual a alternativa correta é erro de execução.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo