← Questões de Programação

Programação · FGV · 2024

Questão comentada de Programação

Considere o seguinte trecho de código, desenvolvido utilizando-se a linguagem de programação Python: l = [1,'oi',2.5] l *= 4 print(l, 4 in l, 'oi' in l) Assinale a opção que indica a saída impressa pela função print().

Gabarito: A

Em Python, o operador *= em listas faz a repetição da sequência no próprio objeto. Ou seja, a lista l = [1, 'oi', 2.5] vira a mesma lista repetida 4 vezes, ficando com os elementos [1, 'oi', 2.5, 1, 'oi', 2.5, 1, 'oi', 2.5, 1, 'oi', 2.5]. Depois, o print testa duas condições com o operador in. Em Python, in verifica se um valor aparece como elemento da lista. Então 4 in l é False, porque o número 4 não está dentro dessa lista. Já 'oi' in l é True, porque a string 'oi' aparece várias vezes. Assim, a saída impressa é a lista repetida, seguida de False e True. É um caso clássico de prova: a banca mistura repetição de lista com teste de pertinência para ver se voce confunde valor com índice ou acha que *= transforma tudo em números, o que não acontece. Em resumo: *= repete a lista, in procura um elemento exato, e strings como 'oi' só dão True quando aparecem exatamente assim, sem truques de laboratório.

Continue treinando

Questões relacionadas