질문내용이 삭제된 질문 / 함수 정의 문제

조회수 633회

게시판 목적과 맞지 않았던 것 같아 별도로 찾아보겠습니다 감사합니다.

1 답변

  • 다음부터는 그냥 에러가 난다고만 적지 마시고 에러 메시지의 내용도 함께 알려주세요

    코드를 돌려본 건 아니라 어느 부분에서 에러가 나는지는 모르겠습니다만, 우선 제 눈에 보이는 걸 말씀드릴게요

    python list의 append는 대략 이런 느낌입니다.

    def append(self, x)
        self.a[len(self.a):] = [x]
    

    리스트의 마지막에 parameter로 전달받은 값을 연결하는 건데, 중요한 건 리턴 값이 없다는 거죠

    다음과 같은 방법으로 간단히 테스트 해볼 수 있습니다.

    >>> a = 1
    >>> b = []
    >>> c = b.append(a)
    >>> b
    [1]
    >>> c
    >>> 
    

    b에는 정상적으로 a가 append 되었으나, append는 리턴값이 없기 때문에 c는 아무것도 아니게(NoneType) 됩니다.

    올려주신 코드도 마찬가지로 close.append(a)의 리턴값이 없기 때문에 closeness에는 아무 값도 저장되지 않고, 따라서 아무 것도 아닌 값에 sum이나 len을 구하려고 하면 에러가 나게 되는 것입니다.

    • 감사합니다. 에러값도 함께 드립니다. AttributeError: 'int' object has no attribute 'append' 알 수 없는 사용자 2020.4.8 13:05

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)