점프투파이썬 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 오전