Com base nas linguagens de programação Python, julgue o próx...

Próximas questões
Com base no mesmo assunto
Q3451596 Programação

Com base nas linguagens de programação Python, julgue o próximo item.


Considere o seguinte código em Python: tupla = ('a', ['b', 'c', 'd']) tupla[1].append('e')


O código acima resultará em erro, pois tuplas são imutáveis e não permitem adição de elementos. 

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E (Errado)

Tema central: A questão explora o conceito de imutabilidade de tuplas em Python, um ponto fundamental para quem programa nessa linguagem e frequente em provas de concursos.

Resumo teórico: Em Python, tuplas são estruturas de dados imutáveis. Isso significa que, após sua criação, não é possível adicionar, remover ou alterar diretamente os elementos armazenados na tupla. Porém, se a tupla contém elementos mutáveis (como listas), os objetos internos podem ser modificados. (Fonte: Documentação Oficial do Python)

Justificativa da alternativa correta:
No código apresentado, temos uma tupla com dois elementos: um caractere e uma lista. Quando executamos tupla[1].append('e'), não estamos tentando modificar a tupla em si, mas sim alterar a lista que está dentro dela. Como listas são mutáveis, essa operação é válida e não gera erro. Assim, a afirmação de que o código "resultará em erro" está incorreta.

Análise da alternativa errada:
A alternativa "Certo" sugeriria que a imutabilidade da tupla proíbe qualquer modificação nos objetos dentro dela, mas isso não é verdade para objetos mutáveis, como listas. O erro comum aqui é confundir a impossibilidade de modificar a estrutura da tupla com a impossibilidade de modificar elementos mutáveis contidos nela.

Estratégias para interpretação:

  • Leia atentamente o enunciado e destaque termos como "imutável" e "adicionar elementos".
  • Lembre-se que tuplas protegem apenas sua estrutura, não o estado dos objetos que guardam.
  • Desconfie de afirmações categóricas sobre erro sem analisar o tipo de dado envolvido.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

tupla = ('a', ['b', 'c', 'd'])

tupla[1].append('e')

print(tupla)

# Saída: ('a', ['b', 'c', 'd', 'e'])

  • Tupla é composta por dois elementos: uma string "a" e uma lista ['b', 'c', 'd'].
  • o comando tupla.append('e') não altera a estrutura da tupla, mas sim o conteúdo da lista interna, que é mutável. Após a execução, a tupla passa a ser # Saída: ('a', ['b', 'c', 'd', 'e'].
  • Não ocorre erro nesse caso, pois não estamos tentando modificar a estrutura da tupla, mas sim o conteúdo de um objeto mutável que ela referencia.

E

Tupla

  • É uma coleção ordenada e imutável de elementos.
  • Representada por parênteses: tupla = (1, 2, 3)
  • Não pode ser alterada depois de criada — exceto se contiver elementos mutáveis (como uma lista dentro dela).

Lista

  • É uma coleção ordenada e mutável.
  • Representada por colchetes: lista = [1, 2, 3]
  • Permite modificar, adicionar ou remover elementos facilmente.

Dicionário

  • É uma coleção não ordenada de pares chave:valor.
  • Representado por chaves: dicionario = {'nome': 'Hugo', 'idade': 28}
  • Permite acesso direto a valores por meio da chave: dicionario['nome'] → 'Hugo'
  • Mutável: valores podem ser adicionados, alterados ou removidos.

Errado!

Em Python, tuplas são imutáveis, ou seja, não permitem que se altere diretamente seus elementos (como tupla[0] = 'x').

No entanto, se uma tupla contém objetos mutáveis (como listas), esses objetos podem ser modificados sem alterar a tupla em si.

Clique para visualizar este comentário

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