2025. 8. 24. 17:27
반응형
키와 몸무게를 입력받아 BMI 지수를 계산한 후 비만 상태를 출력하시오.
조건)
BMI 지수
18 미만 : 저체중
18~23 미만 : 정상
23~25 미만 : 과체중
25 이상 : 비만
h=int(input('키 입력: '))
w=int(input('몸무게 입력: '))
bmi=w/((h/100)*(h/100))
if bmi < 18:
result='저체중'
elif 18 <= bmi <23:
result='정상'
elif 23 <= bmi < 25:
result='과체중'
else:
result='비만'
print(f'BMI: {bmi:.2f}, {result}')
결과)
키 입력: 166
몸무게 입력: 63
BMI: 22.86, 정상
키 입력: 166
몸무게 입력: 81
BMI: 29.39, 비만
파이썬 소스 및 결과 입니다. 소스 설명)
코드 개요
제공된 코드는 사용자의 키와 몸무게를 입력받아 체질량지수(BMI)를 계산하고, 그 결과에 따라 저체중, 정상, 과체중, 비만 중 하나로 판정하여 출력하는 프로그램입니다.
코드 상세 설명
1. 변수 입력
Python
h = int(input('키 입력: '))
w = int(input('몸무게 입력: '))
- input('키 입력: '): 사용자에게 '키 입력: '이라는 메시지를 보여주고 입력을 받습니다. 입력된 값은 문자열 형태입니다.
- int(): 입력받은 문자열을 정수(integer)로 변환합니다. 예를 들어, 사용자가 '166'을 입력하면 int() 함수는 이를 숫자 166으로 바꿉니다.
- h, w: 변환된 정수 값은 각각 h (키)와 w (몸무게) 변수에 저장됩니다.
2. BMI 계산
Python
bmi = w / ((h / 100) * (h / 100))
- BMI(체질량지수)는 몸무게(kg)를 키(m)의 제곱으로 나눈 값입니다.
- h / 100: 입력받은 키 h는 센티미터(cm) 단위이므로, 이를 미터(m) 단위로 변환하기 위해 100으로 나눕니다.
- (...) * (...): 변환된 키(m)를 두 번 곱하여 제곱합니다.
- w / ...: 몸무게 w를 키의 제곱으로 나누어 최종 BMI 값을 계산합니다. 계산된 값은 bmi 변수에 저장됩니다.
3. 조건문 (if-elif-else)
Python
if bmi < 18:
result = '저체중'
elif 18 <= bmi < 23:
result = '정상'
elif 23 <= bmi < 25:
result = '과체중'
else:
result = '비만'
이 부분은 계산된 bmi 값을 기준으로 어떤 결과인지 판정하는 과정입니다.
- if bmi < 18: 만약 bmi가 18보다 작으면, result 변수에 '저체중'이라는 문자열을 할당합니다.
- elif 18 <= bmi < 23: 앞선 조건이 거짓이고 bmi가 18 이상 23 미만이면, result에 '정상'을 할당합니다.
- elif 23 <= bmi < 25: 앞선 조건들이 모두 거짓이고 bmi가 23 이상 25 미만이면, result에 '과체중'을 할당합니다.
- else: 위의 모든 조건이 거짓일 경우 (즉, bmi가 25 이상일 경우), result에 '비만'을 할당합니다.
4. 결과 출력
Python
print(f'BMI: {bmi:.2f}, {result}')
- f'...': f-string 이라는 포맷팅 방식을 사용합니다. 문자열 내에 변수 값을 쉽게 포함시킬 수 있습니다.
- {bmi:.2f}: bmi 변수의 값을 출력하되, 소수점 둘째 자리까지 반올림하여 표시하도록 지정합니다.
- {result}: result 변수에 저장된 판정 결과('정상' 또는 '비만' 등)를 출력합니다.
- 이 구문을 통해 최종적으로 'BMI: xx.xx, [판정 결과]' 형태의 메시지가 화면에 나타나게 됩니다.
반응형
'파이썬(Python)' 카테고리의 다른 글
| 파이썬, 항공권 할인율을 조회하여 출력하는 소스 (2) | 2025.08.26 |
|---|---|
| 파이썬, 연도와 월을 입력받아 해당 연도 월의 일수를 출력하는 프로그램 (1) | 2025.08.26 |
| 파이썬으로 소스로 프로그램을 만들어서 앱으로 올릴 수도 있나요? (0) | 2025.08.24 |
| 파이썬, 복합 비교 연산자란 무엇인지 정리 (0) | 2025.08.24 |
| 파이썬, 月을 입력받아 계절을 출력하는 프로그램 (0) | 2025.08.24 |
콘텐츠 내 자동삽입광고
