• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

5.0은 왜 안되나요?

22.03.01 04:02 작성 조회수 239

0

from math import *

r=
int(input("반지름을 입력하세요 : "))

#volume = 4.0/3.0 * pi * r ** 3
volume = 4.0/3.0 * pi * pow(r, 3)
#** 는 지수를 의미함 그뒤에 제곱할 숫자를 쓰면됨
#python에서는 pi , c에서는 PI
print("구의 부피 : ", volume)
print("구의 부피 : " + str(volume))

# 구의 겉넓이의 공식 : 4 * pi * 반지름의 제곱
outer_area = 4 * pi * pow(r,2)
print("구의 겉넓이 : " + str(outer_area))





로 작성을 하였는데

input에 5.0을 넣으면 하기의 오류가 납니다.

Traceback (most recent call last): File "D:\09.Python\파이썬 작업\3장(자료형)\ex01.py", line 16, in <module> r= int(input("반지름을 입력하세요 : ")) ValueError: invalid literal for int() with base 10: '5.0'





인터넷을 찾다보니까 int(float(소수))를 사용하면
문제가 발생하지 않는다고 하는데
원인이 뭘까요?
실질적으로 r = int(float(input("반지름을 입력하세요 :")))
를 사용하니 오류가 해결되었습니다.

답변 부탁드립니다.

답변 1

답변을 작성해보세요.

0

YK JO님의 프로필

YK JO

2022.03.29

int(input()) 은 input 값으로 정수(integer)를 입력받겠다는 코드이므로 5.0을 입력하면 오류가 발생합니다.

따라서, 5.0을 입력값으로 넣고 싶은경우는 실수를 입력값으로 받겠단ㄴ float(input())을 사용하시면 됩니다.