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