+ 1

Где ошибка в коде калькулятора ИМТ?

Из 5 тестов не прошёл 4-й

20th May 2021, 9:17 AM
Asadbek Sajfiev
Asadbek Sajfiev - avatar
14 Antworten
+ 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")
22nd May 2021, 5:01 AM
Елена Леващева
Елена Леващева - avatar
+ 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
20th May 2021, 9:22 AM
A͢J
A͢J - avatar
+ 1
Vasiliy , да, спасибо пробовал использовать код из указанной дискуссии выше и как-то стыдно стало за вермишель которую я настрочил
21st May 2021, 9:34 PM
Moshkutelo Evgeniy
+ 1
Vasiliy , спасибо Вам больше за приятные слова, это вдохновляет не опускать руки и не останавливаться на достигнутом 😊
21st May 2021, 9:51 PM
Moshkutelo Evgeniy
+ 1
"AND" - НЕОБЯЗАТЕЛЬНО!
15th Jun 2021, 12:51 PM
Матвей Золотухин
Матвей Золотухин - avatar
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!")
20th May 2021, 9:18 AM
Asadbek Sajfiev
Asadbek Sajfiev - avatar
0
Thanks a lot, I understood my mistakes)
20th May 2021, 9:29 AM
Asadbek Sajfiev
Asadbek Sajfiev - avatar
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") Как вы получили решение?
20th May 2021, 9:47 PM
Moshkutelo Evgeniy
0
Moshkutelo Evgeniy , в действительности для прохождения теста здесь не требуется использование округления, так-же как и нет необходимости в операторе "and" ☺️
21st May 2021, 9:29 PM
Solo
Solo - avatar
0
Moshkutelo Evgeniy , вы слишком самокритичны ☺️, ваш код на мой взгляд быстрее, и занимает меньше объёма, а если бы потребовалось визуализировать ИМТ, то ещё и читабельнее результат ☺️
21st May 2021, 9:46 PM
Solo
Solo - avatar
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")
15th Jun 2021, 12:51 PM
Матвей Золотухин
Матвей Золотухин - avatar
0
Матвей Золотухин, не лучший. Есть лишние детали 😉
15th Jun 2021, 1:30 PM
Solo
Solo - avatar
0
Спасибо
13th Jun 2022, 11:31 AM
Omirkhan Myrzamseitov
Omirkhan Myrzamseitov - avatar
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')
19th Apr 2023, 5:25 AM
Все обо всем
Все обо всем - avatar