Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Aplicação do desconto

Olá!

A mensagem de erro abaixo está sendo exibida, porém não houve orientação durante a aula para atribuir o tipo 'float' a 'self.preco'. Como posso solucionar? Obrigado.

self._preco -= (self._preco * 0.08)
                ~~~~~~~~~~~~^~~~~~

TypeError: can't multiply sequence by non-int of type 'float'

3 respostas
solução!

Bom dia, Ronan! Tudo bem?

O erro ocorre porque self._preco provavelmente é uma string ao invés de um número (float ou int). O Python não permite multiplicar uma string por um número decimal (float), apenas por inteiros.

Solução: Converter para float Antes de realizar a operação matemática, converta self._preco para* float*, garantindo que a multiplicação funcione corretamente:

self._preco = float(self._preco)  # Converte para número
self._preco -= (self._preco * 0.08)

Caso ainda tenha dúvidas, você pode verificar o tipo de self._preco antes da operação:

print(type(self._preco))  # Isso mostrará se é uma string ou outro tipo inesperado

Muito obrigado pela atenção, Guiherme! Abraços.

De nada, Ronan! Qualquer outra duvida, so mandar no forum.