이제 파이썬을 입문하는 학생인데 질문입습니다.

조회수 93회
def std_weight(height, gender) :
    if gender == 1 :
        weight = height * height * 22
        print("키 {0} 남자의 표준 체중은 {1}입니다.".format(height, float(round(weight,2))))
    elif gender == 2 :
        weight = height * height * 21
        print("키 {0} 여자의 표준 체중은 {1}입니다.".format(height, float(round(weight,2))))

print("표준 체중을 구하는 프로그램\n")
height = input("키를 입력하시오 : ")
gender = input("성별을 입력하시오(남자:1, 여자:2) : ")
std_weight(height, gender)

이대로 실행시키면 바로 종료가 되는데 어떤 부분에서 수정을 해야할까요?

1 답변

  • 다음 코드를 실행해보시고 어느 부분에서 문제가 있는지 제가 어떻게 확인했는지에 대해 살펴보세요.

    다른 식으로 수정해야 하지만 무엇이 문제인지 어떻게 확인하는지 알려드리기 위해 다음 코드를 올립니다.

    def std_weight(height, gender) :
        print(gender)
        print(type(gender))
    
        print(height)
        print(type(height))
    
        height = int(height)
        gender = int(gender)
    
        if gender == 1 :
            print(1)
            weight = height * height * 22
            print(weight)
            print("키 {0} 남자의 표준 체중은 {1}입니다.".format(height, float(round(weight,2))))
    
        elif gender == 2 :
            print(2)
            print(type(height))
            weight = height * height * 21
            print(weight)
            print("키 {0} 여자의 표준 체중은 {1}입니다.".format(height, float(round(weight,2))))
    
    print("표준 체중을 구하는 프로그램\n")
    height = input("키를 입력하시오 : ")
    gender = input("성별을 입력하시오(남자:1, 여자:2) : ")
    std_weight(height, gender)
    
    • '''std_weight(height, gender)''' 부분에서 height/100을 하여 출력되는 무게값을 소수점 2단위로 표현할려고 합니다. 이준석 2021.1.4 18:44
    • 그런 식으로 말하면 아무도 모릅니다. 제가 버스표를 예매하려는데 예매가 안돼요. 이러면 문제가 뭔지 정확하게 파악하고 해결해줄 수 있습니까? 초보 2021.1.5 09:29
    • 주신 도움으로 문제 해결을 파악하고 해결할 수 있었습니다. 감사합니다. 이준석 2021.1.5 13:05

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.