Questão FC514930
Julgue o próximo item, a respeito de Python. Considere o código a seguir, desenvolvido em Python. def calculo(lista): for n in lista: for x in range(2, n): if n % x == 0: n=n//x br
Linguagens de Programação para Ciência de Dados
CEBRASPE (CESPE) · 2025
Julgue o próximo item, a respeito de Python.
Considere o código a seguir, desenvolvido em Python.
def calculo(lista): for n in lista: for x in range(2, n): if n % x == 0: n=n//x break else: print(f"O Resultado é: {n}") lista = [2, 4, 6] calculo(lista)
Ao ser executado, esse código apresentará o seguinte resultado.
O Resultado é: 2
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
O código percorre a lista [2, 4, 6] com um laço externo e, para cada valor \(n\), executa um laço interno for em \(range(2,n)\). Esse for interno tem um teste \(n \% x == 0\) que, se verdadeiro, faz \(n = n // x\) e executa break, interrompendo o laço.
Importante: o laço interno usa a construção for-else. O bloco else só é executado quando o laço interno termina normalmente, isto é, sem passar por break. No bloco else há o print, portanto a impressão ocorre somente quando não se encontra divisor entre 2 e \(n-1\).
Para \(n=2\), \(range(2,2)\) é vazio, o laço interno não itera e o else é executado, imprimindo "O Resultado é: 2". Para \(n=4\) e \(n=6\) o primeiro \(x=2\) satisfaz \(n \% x == 0\), faz \(n = n // x\) e aciona break, evitando o else e, assim, nenhum print.
Logo, a única saída exibida é "O Resultado é: 2", razão pela qual o item foi julgado CERTO.
Conteúdo do catálogo FC Concursos · Atualizado em