파이썬으로 코딩을 하는데 문제가 생겼습니다. TypeError: '<=' not supported between instances of 'int' and 'NoneType'

조회수 14072회

이미지

영상 밝기조절 코딩을 했는데 실행을 하면이미지

이와같은 오류가 나옵니다.

이 문제를 어떻게 해결하는지 알려주시면 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 에러메시지를 열심히 읽어보면 답이 있어요.

    • TypeError: '<=' not supported between instances of 'int' and 'NoneType'
    • 타입에러: '<=' 는 'int'와 'NoneType' 을 비교하는데 사용할 수 없음.

    에러가 가르키는 코드는

    if (0 <= pix) or (pix <= r1):
    

    여기서 0 <= pix 가 에러가 가르키는 것이거나, 아니면 pix <= r1 이거나.

    • 0 <= pix 에서 0은 int 형이 맞고, 그럼 pix 가 NoneType 형이란 말인가?
      • 그럴 것 같네요. pix 가 앞에서 어떤 함수의 리턴으로 받아온 ( pix = cv.imread( ) 것이니까, cv.imreadNone 을 반환했겠군요.
    • pix <= r1 에서 발생했을 수는 없을까?
      • 그렇다면, pix 가 int 이고, r1NoneType 이라는 이야기인데, 그럴 가능성은 낮아보이죠.

    결론은, 디버깅할 때에는 에러메시지를 대충대충 보지 말고, 반드시 잘 해석해가면서 꼼꼼히 보자.

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

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

(ಠ_ಠ)
(ಠ‿ಠ)