점프투파이썬 05-2 모듈의 '클래스나 변수 등을 포함한 모듈' 예시에 관한 질문
PI = 3.141592
class Math:
def solv(self, r):
return PI * (r ** 2)
def add(a, b):
return a+b
위의 예시를 저장하고 print(mod2.add(mod2.PI, 4.4))를 실행하면 7.541592이 출력돼야 하는데, 저는 7.5415920000000005이 나옵니다.
PI나 Math 사용한 예시는 값이 제대로 나오는데 왜 add 함수만 값이 다르게 나오는 건가요?
(Python 3.8.5, 맥북 사용)
k.minjeong12345 님 355
M 2020년 8월 10일 9:48 오전
2개의 답변이 있습니다. 1 / 1 Page
mod2는 어떻게 선언이 되어있나요?
>>> PI = 3.141592
>>> class Math:
... def solve(self, r):
... return PI * (r ** 2)
...
>>> def add(a, b):
... return a + b
...
>>> print(mod2.add(mod2.PI, 4.4))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'mod2' is not defined
쿠우아저씨 님
2020년 8월 9일 9:43 오후
안녕하세요.
위에서 언급한 문제는 모듈과는 상관없이 프로그래밍 언어가 모두 갖게되는 실수값의 오차때문입니다.
>>> 3.141592 + 4.4
7.5415920000000005
실수를 정확하게 표현할 수 없는 문제이기 때문인데 이와 관련한 내용은 인터넷에서 조금만 검색해 보시면 자세한 답을 얻으실 수 있습니다.
박응용 님
2020년 8월 10일 9:53 오전