Novo curso! Todo programador deveria aprender IA generativa!
Experimente uma aula grƔtis+ 2
Consulta de calculadora IMC
Tengo una duda muy grande me da error en el primer if , Quiero saber quƩ estoy haciendo mal en esta tarea que te da python. Desde ya, gracias. peso=float(input("ponga el peso: ")) altura=float(input("ponga la altura: ")) imc = peso / (altura**2) if imc < 18.5: print("Underweight") elif imc <=18.5 and imc < 24.9: print ("Normal") elif imc <=25 and imc < 29.9: print("overweight") else imc <=25 and imc <30: print("Obesity")
13 Respostas
+ 10
Te entiendo, si que sufrĆ con este ejercio jajaja y consulte con una amiga programadora pero ella decĆa que estaba correcto como lo hice pero sololearn me arrojaba error..
Ok, tuve un dolor de cabeza.. por este ejercicio de 3 dias jajaja pero logrĆ© resolverlo.. Soy diseƱador grĆ”fico, entrando al mundo de programaciĆ³n.. dificil pero cada dĆa me encanta mas..
AquĆ va mi mĆ©todo de como resolvĆ.. es mi primer aporte a la comunidad..SaliĆ³ todo correcto en el playground.
peso = float(input())
altura = float(input())
imc = peso // altura**2
if imc < 18.5:
print ("Underweight")
elif (imc == 18.5) or (imc <= 24.9):
print ("Normal")
elif (imc == 25) or (imc <= 29.9):
print ("Overweight")
else:
if Imc >= 30:
print ("Obesity")
El punto importante, en mi programa.. es el operador // .. si no hubiera puesto de estĆ forma me arrojaba error, pero era extraƱo porque de 5 vistos buenos tenia uno no acertado.. que fueron 3 dias ..hasta que lo descrubĆ que era .. simplemente ese operador..
+ 6
Con funciĆ³n round():
Peso: 52
Altura: 1.85
IMC: 15.2 (este se redondea)
weight = int(input())
height = float(input())
imc = round(weight / (height ** 2), 1)
if (imc > 0 and imc <= 18.5):
print("Underweight")
elif (imc >= 18.5 and imc <= 24.9):
print("Normal")
elif (imc >= 25 and imc <= 29.9):
print("Overweight")
elif (imc >= 30):
print("Obesity")
+ 4
A ver si puedo ayudar en algo, ya que yo tambiƩn estuve bastante tiempo peleando con este ejercicio.
El problema que tenemos si utilizamos el operador ā/ā al realizar la operaciĆ³n, es que nos devolverĆ” un float con mĆ”s de 10 decimales, cosa que se nos escapa a la hora de meterlo en los condicionales que nos indican.
La soluciĆ³n de utilizar el operador de divisiĆ³n ā//ā funciona, pero creo que no serĆa lo correcto, ya que este nos devolverĆ” un valor entero con decimal siempre a 0 y si nos fijamos en los rangos de valores proporcionados, estos tienen 1 decimal funcional.
Por ejemplo:
Con operador /:
Peso 52
Altura 1.85
IMC: 15,19357195032871
Con operador //:
Peso: 52
Altura: 1.85
IMC: 15.0
PodĆ©is comprobarlo vosotros mismos aƱadiendo un print(resultado) debajo de la operaciĆ³n y asĆ poder ver la salida, aunque este muestre error.
Aunque no se ha aprendido en lecciones anteriores, creo que lo correcto serĆa aƱadir la funciĆ³n round() y especificar cuantos decimales queremos en el resultado.
+ 4
AsĆ me funcionĆ³:
peso = float(input())
altura = float(input())
imc = peso // altura**2
if imc < 18.5:
print ("Underweight")
elif (imc == 18.5) or (imc <= 24.9):
print ("Normal")
elif (imc == 25) or (imc <= 29.9):
print ("Overweight")
else:
if Imc >= 30:
print ("Obesity")
+ 1
Claro es una opciĆ³n mas avanzada.. Para las proximas unidades .. Ese aporte que has dado hay valorarlo..ya que seguro no los enseƱa mas adelante.. En mi caso como novato me parece cool..
+ 1
Hermanos, gracias por comentar lo del operador //.
Estaba que me deprimĆa con ese ejercicio. š
0
El operador // ha sido clave!! me estaba volviendo loca ya... muchs gracias!
0
Claro.. Me pasĆ³.. La razĆ³n es es que el programa debe recibir valor de decimales de menor dĆgito posible.. Y eso lo hace el operador //
0
esta es la mejor solucion, volvi despues de un tiempo a este ejercicio y la cosa seria asi:
peso = int(input())
altura = float(input())
imc = peso / altura**2
if imc < 18.5:
print("Underweight")
elif imc >= 18.5 and imc <= 25.9:
print("Normal")
elif imc >= 25 and imc <= 29.9:
print("Overweight")
elif imc >= 30:
print("Obesity")
0
Intente con diferentes maneras usando and y operadores lĆ³gicos y siempre me marcaba error en la declaraciĆ³n de una condiciĆ³n, por lo que no me dejaba ejecutar el programa, lo probĆ© en mi lap y funcionaba perfectamente š¤Ø
al final me admitiĆ³ una respuesta en la que no usĆ© operadores booleanos pero los resultados fueron correctos...
peso = int(input())
altura = float(input())
imc= peso/(altura**2)
imc= round(imc,1)
if imc < 30:
if imc < 18.5:
print("Underweight")
else:
if imc < 25:
print("Normal")
elif imc >= 25:
print("Overweight")
else:
print("Obesity")
0
En vez de / Pon //
Todos mis conocidos programadores me decian que estaba bien el codigo, luego uno me pregunto de donde era el ejercicio y me dijo que era el "/" -_-
peso = int(input())
altura = float(input())
IMC = peso // altura ** 2
if IMC < 18.5:
print("Underweight")
elif 18.5 <= IMC < 24.9:
print("Normal")
elif 25 <= IMC < 29.9:
print("Overweight")
else:
print ("Obesity")
0
A mi solamente me lo dio vĆ”lido de esta forma, ya es el segundo dĆa que llevo en este problema jajsjs
peso = float(input())
altura = float(input())
imc = peso // altura**2
if imc < 18.5:
print ("Underweight")
elif (imc == 18.5) or (imc <= 24.9):
print ("Normal")
elif (imc == 25) or (imc <= 29.9):
print ("Overweight")
else:
if imc >= 30:
print ("Obesity")