← Questões de Programação

Programação · FGV · 2024

Questão comentada de Programação

Considere o seguinte trecho de código em Python: total = 1 EXPR for num in numbers: total *= num print(total) Assinale a opção que pode substituir EXPR, no trecho de código, para que o resultado exibido seja 3840.

Gabarito: C

Aqui a ideia é simples: o código começa com total = 1 e, dentro do laço, vai multiplicando esse total por cada número da lista. Ou seja, no fim, o que importa é o produto de todos os elementos de numbers. É como uma “colinha” de multiplicação acumulada: cada volta do for pega o valor atual de total e o aumenta com o próximo item. Para descobrir a opção certa, basta fazer a conta mental do produto de cada lista. O resultado precisa ser 3840. Quando você testa a alternativa C, tem 2 x 4 x 6 x 8 x 10 = 3840, então ela encaixa perfeitamente. Repare que o valor inicial 1 não altera o produto, ele só serve para não “quebrar” a multiplicação antes do laço começar. Esse padrão é muito comum em Python: usar uma variável acumuladora e atualizar com operadores como *=. Em termos de lógica de programação, isso é uma redução por multiplicação. Não há pegadinha de sintaxe aqui, só leitura atenta do efeito do laço e cálculo do produto final. Então, o gabarito é C porque é a única lista cujo produto resulta exatamente em 3840.

Continue treinando

Questões relacionadas