Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: word93 en 11 Agosto 2010, 16:03 pm



Título: [Python]Calcular indice de masa corporal y decir el estado
Publicado por: word93 en 11 Agosto 2010, 16:03 pm
Otro acabado  ::)


Código
  1. #
  2. #Calcular Indice de Masa Corporal
  3. #By Word .....
  4.  
  5. print """
  6.  
  7. Bienvenido, con esta aplicacion podras calcular tu indice de masa corporal
  8.  
  9. """
  10. try:
  11. peso1 = raw_input("Introduce tu peso en Kg, Ej: 75 --->")
  12.  
  13. peso = int(peso1)
  14. print peso
  15. except:
  16. print "Introduzca un numero"
  17.  
  18. try:
  19. altura1 = raw_input("Introduce tu Altura en m, Ej: 1.80 --->")
  20. altura = float(altura1)
  21. print altura
  22. except:
  23. print "Introduzca un numero, la coma va con un punto"
  24.  
  25. def imc(a,b):
  26.  return a/b**2
  27.  
  28. final = imc(peso,altura)
  29. print "El resultado es ," , final
  30.  
  31.  
  32. if final <18.50:
  33.  solucion = "Infrapeso"
  34. if final <24.99 and final >18.51:
  35.  solucion = "Normal"
  36. if final >= 25 and final <30:
  37.  solucion = "Sobre Peso"
  38. if final >= 30:
  39.  solucion = "Obeso"
  40.  
  41.  
  42. print "Usted parece ," , solucion
  43.  
  44.  


Título: Re: [Python]Calcular indice de masa corporal y decir el estado
Publicado por: Karcrack en 28 Agosto 2010, 03:10 am
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:
Código:
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)