1
resposta

error no codigo AttributeError: 'Pessoa' object has no attribute 'imc'

class Pessoa(object):
   def __init__(self, nome, peso, altura):
      self.nome = nome
      self.peso = float(peso)
      self.altura = float(altura)

   def imprime(self):
      imc = self.peso / (self.altura ** 2)
      print 'O IMC de %s é: %s ' % (self.nome, imc)
1 resposta

Oi David, como vai?

Para que o imc seja apresentado, é necessário chamar a função imprime, pois a variável imc foi declarada dentro dessa função, portanto, não é um atributo da classe, mas sim, uma variável interna da função.

Supondo o objeto pessoa1, poderíamos fazer pessoa1.imprime() para que o imc seja apresentado na tela. Veja abaixo um exemplo:

pessoa1 = Pessoa('Vitor', 45, 1.40)
pessoa1.imprime()

Qualquer dúvida é só dizer.

Abraços e bons estudos!