Consultando as dúvidas já postadas no fórum consegui fazer o exercício, mas não na forma como queria. Ocorre que eu queria ter um método específico para cada ação, ou seja, uma para calcular e outra para imprimir
class Pessoa(object):
'Classe para calcular o IMC de uma pessoa'
def __init__(self,nome,peso,altura):
self.nome = nome
self.peso = peso
self.altura = altura
def calcula(self):
imc = self.peso/(self.altura*self.altura)
def imprime(self):
print "O IMC do %s eh %f" % (self.nome,imc)
Depois, avançando mais um capítulo do curso, percebi que eu poderia manipular o IMC em um método específico, se eu o inserisse no método init, mas o resultado não foi o esperado.
class Pessoa(object):
'Classe para calcular o IMC de uma pessoa'
def __init__(self,nome,peso,altura):
self.nome = nome
self.peso = peso
self.altura = altura
self.imc = 0
def calcula(self):
self.imc = self.peso/(self.altura*self.altura)
#print "O IMC do %s eh %f" % (self.nome,imc)
def imprime(self):
print "O IMC do %s eh %f" % (self.nome,self.imc)
O resultado:
>>> from teste import Pessoa
>>> imc = Pessoa('Geovane',58,1.58)
>>> imc.imprime()
O IMC do Geovane eh 0.000000
Como alcançar o que eu quero?