Python 20 - Quiz

2021. 5. 12. 20:02python

반응형

문제

Quiz) 표준 체중을 구하는 프로그램을 작성하시오

  • 표준 체중 : 각 개인의 키에 적당한 체중

(성별에 따른 공식)

남자 : 키(m) x 키(m) x 22

여자 : 키(m) x 키(m) x 21

 

 

조건

조건1 : 표준 체중은 별도의 함수 내에서 계산

  • 함수명 : std_weight
  • 전달값: 키(height), 성별(gender)

조건2 : 표준 체중은 소수점 둘째자리까지 표시

 

 

 

예제

키 175cm 남자의 표준 체중은 67.38kg 입니다.

 

풀이

1.

표준체중을 구하는 프로그램을 만든다는 것은 결국 함수를 만드는 것이다. 그래서 std_weight이라는 함수를 만든다

함수안에서는 성별과 키에 따라서 계산이 달라지기에 매개변수에는 gender와 height이 들어간다.

--------------------------------------------

def std_weight(height, gender):

 

 

2.

if문을 추가해서 남자인지 여자인지에 따라 키에 따라서 달란질 수 있는 조건문을 만든다.

성별이 남자이면 키*키*22

성별이 여자이면 키*키*21

---------------------------------------------

if gender == "남자":

return height * height * 22

else:

return height * height * 21

 

3. 

키가 175인 남자의 표준체중을 구해야 하기 때문에 함수를 마무리하고

변수 height 에175를 gender 에 남자를 넣는다.

---------------------------------------------

height = 175

gender = "남자"

 

 

 

4.

결국 표준체중을 구해야 하기 때문에 weight이라느 변수를 만들고 표준체중을 구하기 위한 코드를 작성한다.

weight = round(std_weight(height / 100, gender),2)

바로 위에서 변수로 정의 했듯이 std_weight에 height자리에는 175를 100으로

나눈 값이 들어가고 gender자리엔 남자가 들어간다.

그리고 소수점이 나오는 것을 round에 2를 해서 2번째 자리까지 반올림을 해버린다.

---------------------------------------------

weight = round(std_weight(height / 100, gender), 2)

 

 

5.

print("키 {0}cm {1}의 표준체중은 {2}kg 입니다." .format(height, gender, weight)) 라는

출력문을 통해서 퀴즈에 정답을 확인 할 수 있다 

 

 

 

정답

def std_weight(height, gender):  # 키는 m단위 (실수), 성별 "남자"/"여자"
    if gender == "남자":
        return height * height * 22
    else:
        return height * height * 21


height = 175  # cm단위
gender = "남자"     # /100을해서 m를  cm미로 바꾸는 것
weight = round(std_weight(height / 100, gender),
               2)  # round로 감싼 것은 2번째 자리까지 반올림
print("키 {0}cm {1}의 표준체중은 {2}kg 입니다." .format(height, gender, weight))

 

정답 코드 실행시 아래와 같이 출력

키 175cm 남자의 표준체중은 67.38kg 입니다.

반응형

'python' 카테고리의 다른 글

Python 22- Quiz  (0) 2021.05.14
Python 21 - Quiz  (0) 2021.05.13
Python 19 - Quiz  (0) 2021.05.11
Python 18 - Quiz  (0) 2021.05.10
Python 17 - 예외처리, 에러발생시키기  (0) 2021.05.09