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:
- não tem efeito, pois nenhum comando print é acionado;
- provoca a exibição do número 10 na saída;
- provoca a exibição dos números de 1 até 10 na saída;
- provoca um erro de compilação;
- 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