
안녕하세요.
파이썬을 공부하는
가정의학과 전문의
닥터 배도사입니다.
오늘은 파이썬을 이용하여
BMI를 계산하고
정상, 과체중, 비만 유무를 판정하는
프로그램을 만들어 보겠습니다.
BMI란 체질량 지수를 말하며
키와 몸무게를 바탕으로
비만 유무를 판정하는 지수가 되겠습니다.

제가 파이썬 코드를 작성해본
BMI를 구하고
비만 유무를 판정하는 프로그램은
위 그림과 같습니다.
그럼 프로그램 코드를
구간별로 자세히 알아보겠습니다.
# BMI를 구하는 함수를 정의한다. # BMI를 구하는 공식: height/(weight **2) # 이때 height의 단위는 cm, weight의 단위는 kg 이다. def BMI_calc(a, b): return int(a/(b ** 2)) |
먼저 BMI를 구하는 함수를 정의합니다.
BMI를 구하는 공식은 "키/몸무게^2" 입니다.
즉, 키를 몸무게의 제곱으로 나눈 값입니다.
여기서 단위가 중요한데요.
키의 단위는 m,
몸무게의 단위는 kg입니다.
def BMI_calc(a, b):
return int(a/(b ** 2))
BMI 를 계산하는
BMI_calc라는 함수를 정의합니다.
BMI_calc 함수는
a, b라는 변수를 넣으면
a를 b의 제곱으로 나누어 줍니다.
그리고 이 값을 정수형으로 바꾼 값을
반환해 줍니다.
BMI_calc 함수에
변수 a에는 키,
변수 b에는 몸무게를 넣어 주면
BMI가 계산됩니다.
# 자신의 키와 몸무게를 입력하고 BMI를 구해 줍니다. weight = int(input("몸무게를 입력하세요(단위 kg):")) height = int(input("키를 입력하세요:(단위 cm):")) height_m = height/100 BMI = BMI_calc(weight, height_m) |
자신의 몸무게와 키를 입력하기 위한
input 구문을 작성해 줍니다.
weight = int(input("몸무게를 입력하세요(단위 kg):"))
height = int(input("키를 입력하세요:(단위 cm):"))
height_m = height/100
키와 몸무게를 정수형으로
int() 처리해 줍니다.
이 때 키의 단위가 중요합니다.
우리가 보통 키를 cm 단위로 생각을 합니다.
하지만 BMI를 구할 때는 m 단위를 쓰기 때문에
cm로 입력한 키를 100으로 나누어m 단위로 바꾸어 줍니다.
height_m = height/100
입력받은 키와 몸무게를 바탕으로
앞서 정의한 BMI_calc 함수를 이용하여
BMI를 계산하고 이 값을
BMI라는 변수에 할당합니다.
BMI = BMI_calc(weight, height_m)
# BMI 결과에 따라 비만 유무를 판정한다. # BMI ≥23 kg/㎡: 과체중, BMI ≥25 kg/㎡: 비만, BMI ≥30 kg/㎡: 고도비만 if BMI>= 23 and BMI< 25 : BMI_result = "과체중" elif BMI>= 25 and BMI< 30: BMI_result = "비만" elif BMI>= 30: BMI_result = "고도비만" else: BMI_result = "정상" |
BMI 결과에 따라 비만 유무를 판정합니다.
BMI에 따른 비만 유무 판정 기준은 다음과 같습니다.
(BMI ≥23 kg/㎡: 과체중, BMI ≥25 kg/㎡: 비만, BMI ≥30 kg/㎡: 고도비만)
이를 위해 if 구문을 사용합니다.
if BMI>= 23 and BMI< 25 :
BMI_result = "과체중"
만약 계산한 BMI가 23이상 25 미만이라면
BMI_result에 '과체중' 이라는 값을 할당합니다.
나머지 기준도 if 구문을 사용하여 작성해 줍니다.
# 결과를 출력한다. print("당신의 BMI는 %d 입니다." %BMI) print("당신은 %s 입니다." %BMI_result) |
결과를 출력합니다.
키와 몸무게를 이용해 계산한 BMI는
BMI 라는 변수에 할당하였고
BMI에 따른 비만 유무 판정은
if 구문을 이용하여
BMI_result 변수에 할당하였습니다.
결과를 다음과 같이 출력해 줍니다.
print("당신의 BMI는 %d 입니다." %BMI)
print("당신은 %s 입니다." %BMI_result)

이 프로그램을 실행해 보았습니다.
제 키는 173cm, 몸무게는 70kg입니다.
이를 입력창에 입력하면
다음과 같은 결과가 나옵니다.
저의 BMI는 23이고 과체중에 속하네요.
지금까지 파이썬을 이용하여
BMI를 구하는 프로그램을 만들어 보았습니다.
제가 처음으로 만들어본
프로그램이라 기분이 좋습니다.
비록 간단한 프로그램이지만
앞으로 계속 발전해 나가리라고 믿습니다.
여러분들도
도전해 보세요~
'Python 기본 문법' 카테고리의 다른 글
리스트 자료형, 인덱싱, 슬라이싱 (0) | 2021.12.07 |
---|---|
문자열 관련 함수 (0) | 2021.12.07 |
파이썬, 소숫점 표현하기 (0) | 2021.12.02 |
문자열 포매팅(Formatting) - 문자열의 특정 값만 선택적으로 바꾸어 출력하기 (0) | 2021.12.02 |
숫자형 연산자(2) - 제곱, 나누기 몫과 나머지 반환 (0) | 2021.12.01 |