인프런 커뮤니티 질문&답변

CHOI HEE JAE님의 프로필 이미지

작성한 질문수

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

퀴즈 #6

안녕하세요!

20.06.17 15:06 작성

·

175

0

여러명의 표준체중을 구한다고 생각하고 위처럼 작성해봤는데요! 혹시 좀 더 깔끔하게 다듬는다거나.. 보기 쉽게 해볼 수 있는 방법이 있을까요..?

점점 어려워지고 있는 것 같아요! 그래도 항상 재밌게 가르쳐주시는 것 같아서 열심히 배우고 있습니당 ㅎㅎ

감사합니다!!

답변 5

1

나도코딩님의 프로필 이미지
나도코딩
지식공유자

2020. 06. 18. 18:39

이렇게 해보면 어떨까요? ^^

def std_weight(height, gender):
    std_weight = None
    if gender == "남":
        std_weight = round((height * height) / 10000 * 22, 2)
    else:
        std_weight = round((height * height) / 10000 * 21, 2)
    print("키 {0} cm {1}자의 표준 체중은 {2}kg 입니다.".format(height, gender, std_weight))
    return std_weight

std_weight(170, "남")

0

redbean님의 프로필 이미지

2020. 11. 10. 01:24

if 구문을 줄여 보세요

def BMI(height , gender):
    genderType = 21 if gender != "남자" else 22
    weight = pow((height*0.01),2)*genderType   
    return print("키 {0}cm 남자의 표준 체중은 {1}kg 입니다"\
        .format(height,round(weight,2)))

0

CHOI HEE JAE님의 프로필 이미지
CHOI HEE JAE
질문자

2020. 06. 19. 15:38

앗 네네 감사합니다!

None 를 쓰는 이유가 뭔지 검색해보다가 찾은 거였는데 초기화 하기 위해 쓰신거군용...

변수와 함수 이름을 다르게.. 꿀팁 감사합니다!!

0

나도코딩님의 프로필 이미지
나도코딩
지식공유자

2020. 06. 18. 23:54

아니요 ^^ 그냥 '빈 값'으로 초기화 하기 위해 쓴 것이랍니다.

그런데 다시 보니 변수명과 함수명이 같네요?

웬만하면 변수 이름은 weight 와 같이, 함수 이름과는 다르게 해주시면 혹시나 생길 수 있는 실수를 방지할 수 있겠습니다 ^^

0

CHOI HEE JAE님의 프로필 이미지
CHOI HEE JAE
질문자

2020. 06. 18. 21:41

아하..! 감사합니다!!

혹시 두번째 줄에 std_weight = None 를 입력해주신 이유가

함수 종료시에 비정상적으로 종료되면 알기 위함 인가용..?