← Questões de Programação

Programação · FGV · 2022

Questão comentada de Programação

Analise o código Python a seguir. s=0 for k in range(16,10, -2): s -= k print (s) O valor exibido pela execução desse trecho é:

Gabarito: D

Aqui a ideia central é simples: o comando for percorre uma sequência gerada por range(inicio, fim, passo). Quando o passo é negativo, o Python vai descendo, mas sem incluir o valor final. Em range(16, 10, -2), os valores são 16, 14 e 12, porque o 10 fica de fora. Depois, o trecho faz s -= k, ou seja, vai subtraindo cada valor de s, que começou em 0. Fazendo a conta com calma: s = 0 - 16 = -16, depois -16 - 14 = -30, e por fim -30 - 12 = -42. É aquele tipo de questão em que a banca testa se você sabe ler o range e não cai no detalhe do limite final. Em Python, isso é bem padrão e não tem pegadinha de sintaxe, só de atenção mesmo. Por isso o gabarito é a alternativa D. O valor impresso por print(s) é -42. Se você pensou em somar os números do intervalo ou incluir o 10, aí a conta escapa do trilho. Aqui a execução é totalmente determinística: o laço roda três vezes e termina com -42.

Continue treinando

Questões relacionadas