Python é dinamicamente tipado, o que significa que os tipos...

Próximas questões
Com base no mesmo assunto
Q2383253 Programação
Python é dinamicamente tipado, o que significa que os tipos de variáveis são determinados em tempo de execução com base nos valores atribuídos, proporcionando flexibilidade durante o desenvolvimento. Essa dinamicidade permite a criação de código versátil e adaptável.
Nesse contexto, considere o seguinte trecho de código:

a = 5
b = 5
c = '5'
d = (a + b) + c

Qual é o resultado da variável d?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - erro

O tema desta questão é sobre tipagem dinâmica em Python e as operações entre variáveis de diferentes tipos. O código apresentado tenta realizar uma operação de soma entre variáveis numéricas e uma variável do tipo string, o que em Python resulta em um erro de tipo, especificamente um TypeError.

Para resolver essa questão, é necessário entender que:

  • Em Python, variáveis numéricas podem ser somadas entre si sem problemas.
  • Quando você tenta concatenar um número com uma string, é necessário realizar uma conversão de tipos explicitamente, ou Python lançará um erro.

No trecho de código apresentado:

  • a = 5 e b = 5 são ambas variáveis com valores inteiros.
  • c = '5' é uma variável que armazena uma string.
  • d = (a + b) + c tenta somar o resultado da soma de a e b, que é 10, com a string armazenada em c.

Como Python não permite a soma direta de um inteiro com uma string, o interpretador gera um TypeError, pois não pode interpretar como somar esses dois tipos diferentes de dados. Por isso, a alternativa correta é a letra E, que indica que ocorrerá um erro ao tentar executar esse código.

Para corrigir o erro e realizar uma operação válida, seria necessário converter explicitamente os números em strings usando a função str() antes de tentar concatená-los com outra string, ou vice-versa, converter a string em número para somar com o resultado de a + b.

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

A e B estão Ok pois como a própria questão informa python é dinamicamente tipado, entretanto python é fortemente tipado, fato que faz com que somar uma string com um inteiro reproduza o erro.

Gabarito: E

TypeError: unsupported operand type(s) for +: 'int' and 'str'

O erro consiste no fato de não ser possível somar um valor INT com um valor STRING. Para somar a variável C seria preciso declara-la como uma var INT

Ao colocar Aspas na declaração da variável, o Python irá entender que a variável é do tipo string.

E por esse motivo da erro, não é possível somar INT com STR

O código fornecido tenta somar os valores das variáveis e , que são ambos inteiros, e então concatenar o resultado com o valor da variável , que é uma string. Isso resultará em um erro, porque você não pode adicionar um número a uma string diretamente em Python.

Se você deseja concatenar o resultado da adição de e com a string contida em , você pode converter o resultado da soma para uma string antes de realizar a concatenação. Aqui está uma possível correção:

Isso resultaria em:

Clique para visualizar este comentário

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