Tìm lỗi trong chương trình phân loại chỉ số BMI học sinh
Thang điểm 10 · 6 test case chấm tự động · 4 tiêu chí chấm
Trung tâm Y tế học đường muốn viết chương trình HealthTrack để phân loại thể trạng học sinh dựa vào chỉ số BMI = cân nặng (kg) / (chiều cao (m))2, theo quy tắc:
- BMI < 18.5:
Thiếu cân - 18.5 ≤ BMI < 23:
Bình thường - 23 ≤ BMI < 25:
Thừa cân - BMI ≥ 25:
Béo phì
Một bạn học sinh đã viết chương trình sau nhưng khi chạy thử với BMI = 27 lại in ra Béo phì đúng, còn khi chạy với BMI = 24 (đáng lẽ phải là Thừa cân) thì chương trình lại in ra Béo phì - sai kết quả:
data = input().split()w = float(data[0])h = float(data[1])bmi = w / (h * h)bmi_r = round(bmi, 1)if bmi < 18.5:print('BMI =', bmi_r, '- Thieu can')elif bmi < 23:print('BMI =', bmi_r, '- Binh thuong')elif bmi < 18.5:print('BMI =', bmi_r, '- Thua can')else:print('BMI =', bmi_r, '- Beo phi')
Em hãy tìm ra dòng lệnh bị sai (một điều kiện elif viết nhầm khiến nhánh Thừa cân không bao giờ được thực hiện), sửa lại cho đúng và viết lại chương trình hoàn chỉnh.
Input: một dòng gồm 2 số thực cân nặng (kg) và chiều cao (m), cách nhau bởi dấu cách.
Output: một dòng theo định dạng BMI = <giá trị làm tròn 1 chữ số> - <phân loại>.
| Input | Output |
|---|---|
| 60 1.7 | BMI = 20.8 - Bình thường |
| 45 1.6 | BMI = 17.6 - Thiếu cân |
| 70 1.6 | BMI = 27.3 - Béo phì |
| 66.7 1.7 | BMI = 23.1 - Thừa cân |
Giáo viên giao bài này cho lớp, học sinh nộp bài trực tuyến và được chấm tự động.
Giáo viên đăng nhập để giao bàiBài tập khác lớp 10
- Xét kết quả Đạt / Không đạt · Lập trình
- Cân lại mẫu đá thiên thạch trên các hành tinh khác · Lập trình
- Khám phá tên đăng nhập mạng xã hội · Lập trình
- Tính điểm trung bình 3 môn thi · Lập trình
- Tìm lỗi: Tổng lượt xem video theo ngày · Lập trình
- Tra cứu điểm số theo chỉ số danh sách · Lập trình