* BMI.py
class BMI: #클래스 정의
#생성자
def __init__(self, name, age, weight, height):
self.__name = name #__name 필드는 private
self.__age = age
self.__weight=weight
self.__height = height
def getBMI(self):
KILOGRAMS_PER_POUND = 0.45359237
METER_PER_INCH = 0.0254
bmi = self.__weight * KILOGRAMS_PER_POUND / \
((self.__height * METER_PER_INCH) * \
(self.__height * METER_PER_INCH))
return round(bmi * 100) / 100
def getStatus(self):
bmi = self.getBMI()
if bmi < 18.5:
return "저체충"
elif bmi < 25:
return "정상"
elif bmi < 30:
return "과체중"
else:
return "비만"
def getName(self):
return self.__name
def getAge(self):
return self.__age
def getWeight(self):
return self.__weight
def getHeight(self):
return self.__height
* TestBMI.py
from BMI import BMI
def main():
bmi1 = BMI("홍길동", 18, 145, 70)
print(bmi1.getName(),"의 BMI 수치는 ", bmi1.getBMI(), bmi1.getStatus(), "입니다.")
bmi2 = BMI("성춘향", 50, 215, 70)
print(bmi2.getName(), "의 BMI 수치는 ", bmi2.getBMI(), bmi2.getStatus(), "입니다.")
main()
# 홍길동 의 BMI 수치는 20.81 정상 입니다.
# 성춘향 의 BMI 수치는 30.85 비만 입니다.