728x90
반응형
# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
height = int(input())
weight = int(input())
BMI = weight / (height * height)
if BMI < 18.5:
print("저체중")
elif BMI < 23:
print("정상")
elif BMI < 25:
print("과체중")
elif BMI < 30:
print("경도비만")
elif BMI < 35:
print("중도비만")
else:
print("고도비만")
height에 1.70을 입력하니 ValueError: invalid literal for int() with base 10: '1.70' 에러가 나타났습니다.
input은 문자형으로 데이터를 입력받습니다. 우리가 입력한 값은 1.70이라는 실수형 값으로 저장된 것이 아니라 "1.70"이라는 문자형 값입니다.
실수형을 int로 변환하면 문제없이 코드가 돌아가지만 문자형일 경우 int함수가 받을 수 있는 값이 아니기 때문에 에러가 발생합니다.
따라서 실수형 데이터를 입력할 것이라면 int()로 정수형 데이터 변환을 하는 것이 아니라 float()으로 실수형 데이터 변환을 해주어야 합니다.
# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
height = float(input())
weight = float(input())
BMI = weight / (height * height)
if BMI < 18.5:
print("저체중")
elif BMI < 23:
print("정상")
elif BMI < 25:
print("과체중")
elif BMI < 30:
print("경도비만")
elif BMI < 35:
print("중도비만")
else:
print("고도비만")
728x90
반응형
'Programming Language > Python' 카테고리의 다른 글
[Python] 크롤링(Crawling) (1) | 2023.12.29 |
---|---|
[Python] Python과 SQL 연결 (0) | 2023.12.29 |
[Python] 데이터 시각화(matplotlib, pandas, seaborne) (0) | 2023.12.29 |
[Python] Pandas package -2 (0) | 2023.12.29 |
[Python] Pandas package - 1 (0) | 2023.12.29 |