
Ricardo Antonio Escamilla Santiago
PreguntaYo estoy pensando en tener una clase que se llama Paciente y que la instancia sea un sujeto que tenga edad, peso y talla, pero me atoré en saber como le hago para que en el método de la instancia pueda calcular su índice de masa corporal que es igual a peso/talla**2
¿Alguien me puede ayudar a saber como le hago?
Este fue el código que hice:
class paciente:
def init (self, edad, peso, talla):
self.edad=edad
self.peso=peso
self.talla=talla
def imc(self, peso, talla): return peso/talla**2
if name == ‘main’:
daniel= paciente(40, 105, 1.72)
maria= paciente(35, 70, 1.65)
print(daniel.imc(david))

Luis Lira
¡Hola!
El código correcto sería de la siguiente manera:
class Paciente: def __init__(self, edad, peso, talla): self.edad=edad self.peso=peso self.talla=talla def imc(self): return self.peso/self.talla**2 if __name__ == "__main__": daniel = Paciente(40, 105, 1.72) maria = Paciente(35, 70, 1.65) print(daniel.imc()) print(maria.imc())
Lo explico un poco. En el método constructor es donde defines las propiedades del objeto que estás creando. Le pasas la edad, el peso y la talla.
Luego, en su método de imc, que es para calcularlo, no necesitas pasar de nuevo las propiedades ni ningún otro objeto. Desde el método de la misma clase, accederás a las propiedades que le diste al principio usando la palabra reservada
self
Luego se retorna el error y en consola te aparecerá la impresión del valor del IMC de esa persona.

Diego Casillas Duarte
No sé si está todo el código completo o si te vaya a responder bien pero aquí va: el objeto al que le haces
print
daniel
maría
print