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

Dúvida no Ex. 10 da Aula 8 - Orientação a objetos e o conceito de classe

Por algum motivo estou recebendo este erro ao usar a classe Pessoa:

from models import * p = Pessoa('Joao',123,123) Traceback (most recent call last): File "", line 1, in TypeError: object() takes no parameters

Aqui esta a classe: class Pessoa(object):

def _init(self, nome, peso, altura): self.nome = nome self.peso = peso self.altura = altura self.imc = self.peso/self.altura ** 2

def imprime_imc(self): print("Imc de %s: %s" %(self.nome, self.mc))

tentei assim também:

class Pessoa(object):

def _init(self, nome, peso, altura): self.nome = nome self.peso = peso self.altura = altura

def imprime_imc(self): print("Imc de %s: %s" %(self.nome, self.peso/self.altura ** 2))

models.py completo: https://bpaste.net/show/d2cd7d641188

As outras estão recebendo os parâmetros normalmente. Não entendi por que a classe Pessoa está recusando os parâmetros...

5 respostas

(ficou tudo errado aí em cima, então é melhor ver pelo arquivo no bpaste.net )

o erro:

In [1]: from models import *

In [2]: p = Perfil('joao', 123, 'inc')

In [3]: p.imprimir() Nome: joao, Telefone: 123, Empresa: inc

In [4]: pessoa = Pessoa('joao',123,123)

TypeError Traceback (most recent call last)

in ()

1 pessoa = Pessoa('joao',123,123)

TypeError: object() takes no parameters

impossivel.. tudo que eu colo aqui sai errado. erro no bpaste: https://bpaste.net/show/bc9ed048fe8b

solução!

descobri o problema: class Pessoa(object): def _init (faltando o último "_")

Labiuai, para o código sair perfeito, você precisa envolver todo seu código em 3 backsticks ``` abrindo com isso e fechando com isso. Tudo bem?

Obrigado pela dica, Flávio . Isso estava me deixando frustrado.