inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

퀴즈 #6

비만도까지 구하는 프로그램을 만들었습디나

1

제리스

작성한 질문수 5

0

 

gender = input("성별을 입력하세요 (남/녀): ")
height = float(input("키를 입력하세요 (ex: 175): ")) / 100
weight = float(input("현재 체중을 입력하세요 (ex: 70): "))

def std_weight(gender, height):
    if gender == "남":
        return height * height * 22
    elif gender == "녀":
        return height * height * 21
    return None

def bmi(weight, height):
    return round(weight / (height * height), 1)

std_weight_value = std_weight(gender, height)
bmi_value = bmi(weight, height)

if bmi_value < 18.5:
    result = "저체중"
elif bmi_value < 23:
    result = "정상체중"
elif bmi_value < 25:
    result = "과체중"
elif bmi_value < 30:
    result = "1단계 비만"
elif bmi_value < 35:
    result = "2단계 비만"
else:
    result = "3단계 비만"

print("표준 체중:", std_weight_value)
print("BMI:", bmi_value)
print("판정:", result)

python

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 제리스님

작성하신 코드는 키와 체중을 float으로 변환하고, 키를 미터 단위로 바꾼 뒤 BMI를 계산하는 방식으로 정상적으로 동작합니다.

특히 input()으로 입력받은 값은 기본적으로 문자열이므로, 아래처럼 float()으로 변환한 부분이 중요합니다.

height = float(input("키를 입력하세요 (ex: 175): ")) / 100
weight = float(input("현재 체중을 입력하세요 (ex: 70): "))

또한 성별이 "남" 또는 "녀"가 아닌 경우 std_weight() 함수가 None을 반환하므로, 입력값을 제한하거나 예외 처리를 추가하면 더 안전합니다.

관련된 기존 답변은 다음 글을 참고해 주세요.

input으로 값을 입력받는 기능을 추가했는데 오류가 발생했습니다.

input()으로 입력한 값은 문자열이기 때문에 숫자 계산을 하려면 int() 또는 float()으로 형 변환해야 한다는 내용입니다. 제리스님의 코드에서는 이미 이 부분을 올바르게 처리하고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

키보드 단축키 알려주세요!

0

39

1

python.add에 대해서

0

66

1

변수의 문자열 출력문에 대해서 질문이 있습니다.

0

81

1

quiz 8 오류 문제

0

119

1

str() 작성 위치

0

103

1

아나콘다

0

117

1

윈도우 설치 도와주세요

0

140

1

std_weight함수에서weight만return가능한가요?

0

104

1

오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.

0

87

1

설치해서 시작하는데 문제가 있습니다.

0

123

1

함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?

0

210

1

2장 환경설정 문의

0

144

1

스타크래프트 프로젝트

0

121

1

python 파일명.py 입력시 Python 출력

0

208

1

로드맵 질문있습니다!

0

146

2

오류

0

115

1

질문 있습니다.

0

116

1

블로그에 학습한 내용을 정리해도 괜찮을까요?

0

232

1

#퀴즈 3의 5번 질문

0

122

1

print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다

0

118

1

가변인자의 위치가 중요한가요?

0

123

1

vscode옛날 버전 설치

0

287

1

글자색상이 선생님처럼 안나옵니다

0

236

1

슬프네

0

196

1