FC ConcursosFC Concursos

Questão FC331180

Considere o código Python, versão 2.7.1, na qual o comando print não requer parênteses. A execução desse código:

Linguagens de Programação

FGV · 2021

Considere o código Python, versão 2.7.1, na qual o comando print não requer parênteses.

A execução desse código:

  1. não tem efeito, pois nenhum comando print é acionado;
  2. provoca a exibição do número 10 na saída;
  3. provoca a exibição dos números de 1 até 10 na saída;
  4. provoca um erro de compilação;
  5. provoca um erro de execução.
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

O código define teste(n) com for k in range(1, n+1): yield k. A função range recebe um início inclusivo e um fim exclusivo; assim range(1, n+1) gera a sequência \(1,\ldots,n\).

O uso de yield transforma a função em um generator: ela produz valores um a um, preservando o estado entre chamadas, sem construir toda a lista em memória.

No laço for x in teste(10): print x, o gerador fornece sucessivamente os valores de 1 até 10 (porque \(n=10\) e o stop é \(n+1=11\)). Em Python 2, print x imprime cada valor em linha separada. Portanto, a saída exibe os números de 1 até 10.

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

Continue aprendendo