+ 1
Где ошибка в коде калькулятора ИМТ?
Из 5 тестов не прошёл 4-й
14 ответов
+ 3
Условия на русском немного отличаются от условий на английском (вместо 24.9 - 25 и вместо 29.9 - 30). Внизу мой код.
#ваш код
weight = int(input())
height = float(input())
bmi = weight / (height**2)
if bmi < 18.5:
print("Underweight")
if bmi >= 18.5 and bmi < 25:
print("Normal")
if bmi >= 25 and bmi < 30:
print("Overweight")
if bmi >= 30:
print("Obesity")
+ 1
Asadbek Sayfiev
I had just given answer here. You can see and get your mistakes
Я только что дал здесь ответ. Вы можете видеть и понимать свои ошибки
if BMI < 18.5 :
print ("Underweight")
elif BMI>=18.5 and BMI < 25:
print ("Normal")
elif BMI>=25 and BMI < 30:
print ("Overweight")
elif BMI>=30:
print ("Obesity")
https://www.sololearn.com/Discuss/2789838/?ref=app
+ 1
Vasiliy , да, спасибо
пробовал использовать код из указанной дискуссии выше и как-то стыдно стало за вермишель которую я настрочил
+ 1
Vasiliy , спасибо Вам больше за приятные слова, это вдохновляет не опускать руки и не останавливаться на достигнутом 😊
+ 1
"AND" - НЕОБЯЗАТЕЛЬНО!
0
Вот код
#ваш код
weight = int(input()) # вес
height = float(input()) # рост
BMI = weight / height**2
if BMI < 18.5:
print("Underweight")
elif BMI >= 18.5 and BMI <= 24.9:
print("Normal")
elif BMI >= 25 and BMI <= 29.9:
print("Overweight")
elif BMI >= 30:
print("Obesity")
else:
print("Error!")
0
Thanks a lot, I understood my mistakes)
0
Что бы пройти 4-й тест я добавлял функцию round для округления в формуле нахождения ИМТ
#ваш код
x = float(input())
y = float(input())
z = round((x / (y**2)),1)
if z <= 18.4:
print ("Underweight")
elif z >= 18.5 and z <= 24.9:
print ("Normal")
elif z >= 25 and z <= 29.9:
print ("Overweight")
else:
print ("Obesity")
Как вы получили решение?
0
Moshkutelo Evgeniy ,
в действительности для прохождения теста здесь не требуется использование округления, так-же как и нет необходимости в операторе "and" ☺️
0
Moshkutelo Evgeniy ,
вы слишком самокритичны ☺️,
ваш код на мой взгляд быстрее, и занимает меньше объёма, а если бы потребовалось визуализировать ИМТ, то ещё и читабельнее результат ☺️
0
ЛУЧШИЙ КОД:
weight = int(input())
height = float(input())
age = int(input())
x = weight // (height ** 2)
if x < 18.5:
print ("Underweight")
elif x <= 24.9:
print ("Normal")
elif x <= 29.9:
print ("Overweight")
else:
print ("Obesity")
0
Матвей Золотухин, не лучший.
Есть лишние детали 😉
0
Спасибо
0
Это мой код, сработали всё 5 тестов.
#ваш код должен быть здесь
weight = float(input())
height = float(input())
imt = weight / height ** 2
if imt < 18.5:
print('Underweight')
elif imt >= 18.5 and imt < 25:
print('Normal')
elif imt >= 25 and imt < 30:
print('Overweight')
else:
print('Obesity')