[Python]Calcular indice de masa corporal y decir el estado

Iniciado por word93, 11 Agosto 2010, 16:03 PM

0 Miembros y 1 Visitante están viendo este tema.

word93

Otro acabado  ::)


Código (python) [Seleccionar]

#
#Calcular Indice de Masa Corporal
#By Word .....

print """

Bienvenido, con esta aplicacion podras calcular tu indice de masa corporal

"""
try:
peso1 = raw_input("Introduce tu peso en Kg, Ej: 75 --->")

peso = int(peso1)
print peso
except:
print "Introduzca un numero"

try:
altura1 = raw_input("Introduce tu Altura en m, Ej: 1.80 --->")
altura = float(altura1)
print altura
except:
print "Introduzca un numero, la coma va con un punto"

def imc(a,b):
  return a/b**2

final = imc(peso,altura)
print "El resultado es ," , final


if final <18.50:
  solucion = "Infrapeso"
if final <24.99 and final >18.51:
  solucion = "Normal"
if final >= 25 and final <30:
  solucion = "Sobre Peso"
if final >= 30:
  solucion = "Obeso"

 
print "Usted parece ," , solucion

I love python ..

Karcrack

1- Si no escribo un numero simplemente muestra el error, pero me pide el siguiente valor... mejor seria hacer un bucle hasta que el valor sea un numero.
2- Si mi IMC es por ejemplo 24.99 nada ocurrirá... Revisa los ifs...

Me he tomado la libertad de rehacer el codigo:
def imc(a,b):
  return a/b**2

print "\n\nBienvenido, con esta aplicacion podras calcular tu indice de masa corporal\n\n"

while True:
try:
peso = int(raw_input("Introduce tu peso en Kg, Ej: 75 --->"))
break
except:
print "Introduzca un numero"

while True:
try:
altura = float(raw_input("Introduce tu Altura en m, Ej: 1.80 --->"))
break
except:
print "Introduzca un numero, la coma va con un punto"

final = imc(peso,altura)
print "El resultado es: %.2f" % (final)

if final <= 18.50:
solucion = "Infrapeso"
elif final < 25:
solucion = "Normal"
elif final >= 25:
solucion = "Sobre Peso"
else:
solucion = "Obeso"

print "Usted parece : %s" % (solucion)