파이썬 연산 순서 관련 질문

조회수 562회
9%3==0 & 9%5==0

예상 결과값 : False, 실제 결과값 : True

연산 순서의 차이 때문에 이런 결과가 나오는 걸로 알긴 하는데 &를 연산하고 난 뒤에 나오는 식이 어떻길래 True가 나오는지 궁금합니다.

9%3==(0 & 9%5)==0 이런식으로 묶어도 True가 나오질 않습니다...

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    저도 지금 찾아봤는데 파이썬에서 &and는 다르다고 합니다.

    and는 양변이 논리상 True가 떨어지는지를 따져 주는 연산자고 &는 (True/False 값과 사용될 때) 양쪽이 다 True인지 따져 주는 연산자입니다. 출처

    따라서:

    print(9 % 3 == 0  &  9 % 5 == 0) # True
    print(9 % 3 == 0 and 9 % 5 == 0) # False
    

    파이썬... 방심할 수 없는 언어...

    • 아니 저 2개가 달라요? ㅎㅎㅎ 첨 알았네요 박형선 2019.1.9 20:06
    • 저도 첨알았습니다 생각해보니 파이썬에서 and는 쓸지언정 &&는 안쓰는데 왜일까 하고 찾아봤다가 ㅎ 엽토군 2019.1.9 21:39
    • ㅎㄷㄷ and랑 or을 쓰면 제가 원하는 데로 되군요 손성훈 2019.1.10 13:00

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

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

(ಠ_ಠ)
(ಠ‿ಠ)