Questões Programação Python

Analise o código Python apresentado abaixo e marque a opção que apresenta a saída co...

Responda: Analise o código Python apresentado abaixo e marque a opção que apresenta a saída correta.----------------------------------def modificar(v, l):v = 4l.append(4)


1Q898706 | Programação, Python, Ciências da Computação, Prefeitura de Fortaleza CE, IMPARH, 2024

Analise o código Python apresentado abaixo e marque a opção que apresenta a saída correta.

----------------------------------

def modificar(v, l):

v = 4

l.append(4)

v = 5

l = [1, 2, 3]

modificar(v, l)

print(v,l.pop())

----------------------------------

  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️

💬 Comentários

Confira os comentários sobre esta questão.
Sumaia Santana
Por Sumaia Santana em 31/12/1969 21:00:00
Gabarito: Alternativa B
Por que a alternativa B é o gabarito?
Para compreender o resultado apresentado, é essencial lembrar como o Python trata as variáveis e os tipos de dados quando são passados a uma função. O ponto central está na diferença entre objetos mutáveis e imutáveis.

Dentro da função modificar(v, l), o parâmetro v representa um número inteiro (que é imutável) e l corresponde a uma lista (que é mutável). Isso faz toda a diferença no comportamento do código.

Quando a função é executada, o comando v = 4 cria uma nova referência local para o valor 4, sem alterar o conteúdo de v fora da função. Já o comando l.append(4) modifica diretamente a lista original, pois listas permitem alteração em seus elementos. Em seguida, l = [1, 2, 3] apenas substitui a referência dentro da função, sem impactar a lista original, já que se trata de uma nova lista criada localmente.

Assim, ao término da execução, o valor de v permanece o mesmo no escopo externo (5), enquanto a lista original recebeu um novo item, ficando [1, 2, 3, 4].
Quando o programa executa print(v, l.pop()), o valor de v continua sendo 5 e o método pop() remove e exibe o último elemento da lista — o número 4.
Resultado: 5 4.

Por que as demais alternativas estão erradas?
A - 4 4: Incorreta, pois ignora que v fora da função não é afetado pelas mudanças dentro dela.
C - 4 3: Incorreta, pois v é 5 e l.pop() remove o último elemento que foi adicionado, não o terceiro.
D - 5 3: Incorreta, porque, embora v esteja correto, l.pop() deve retornar o último elemento adicionado à lista.
⚠️ Clique para ver os comentários

Visualize os comentários desta questão clicando no botão abaixo

Ver comentários
Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.