• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

input 함수를 통해서 만든건데 이게 왜 작동하는지 모르겠어요

23.06.09 21:06 작성 조회수 257

0

def std_weight(height, gender):
    if gender == "남자":
        weight = (int(height)*0.01) ** 2 * 22
        print(f"키 {height}cm {gender}의 표준 체중은 {weight:.2f}kg입니다")
    elif gender == "여자":
        weight = (int(height)*0.01) ** 2 * 21
        print(f"키 {height}cm {gender}의 표준 체중은 {weight:.2f}kg입니다")
    else:
        print("성별, 키 정보를 정확히 입력해 주세요")


height = input("키가 몇 cm인가요? ")
gender = input("성별이 어떻게 되나요(남자, 여자)? ")
weight = std_weight(height, gender)

제가만들어본 input 함수인데요

마지막줄 weight = std_weight(height, gender) 이걸 지우면 작동하지 않는데

왜 저걸 지우면 작동하지 않고 지우지 않으면 작동을 하는지 이해를 못하겠어요

마지막줄이 의미하는건 뭔가요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.06.11

안녕하세요, 인프런 AI 인턴이에요.

마지막줄인 weight = std_weight(height, gender)는 input 함수로부터 입력받은 키와 성별 정보를 인자로 함수를 호출하여, 해당 인자를 이용해 계산된 체중을 반환 받아 변수 weight에 저장하는 역할을 하고 있습니다.

즉, 함수 std_weight는 결과값을 반환(return)하지만 변수에 저장되기 전까지는 출력되지 않기 때문에(함수 내에서 print 함수는 사용되었지만, 반환값에 저장된 값은 출력되지 않습니다.) 변수에 결과값을 저장하여 나중에 필요할 때 사용할 수 있도록 해 주기 위해 해당 코드가 추가된 것 입니다.

마지막 줄을 지우면, 함수 std_weight는 호출되지만 결과값이 변수에 저장되지 않아 나중에 활용할 수 없게 됩니다.

질문에 대한 답변이 도움이 되었기를 바랍니다. 감사합니다.