#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http 제목3 < 5 != True 결과가 True인 것이 이해되지 않는다면?2018-09-30 15:52작성자drsungwon아래 55번의 유승화 조교님의 글을 읽어 보면 이해가 될 겁니다 (추가로 연산자 우선순위 글도 찾아서 읽어 보세요).혹시 55번의 글을 읽고 이해가 안된다면, 아래의 부언 설명을 읽어 보세요.먼저 3 < 5 != True를 글자 그대로 읽어 보면, "5는 3보다 크고, 5는 True가 아니다" 입니다.여기서 '5는 3보다 크다'이므로 True 조건이 되지요.다음으로 True/False가 정수와 비교가 되야 하는 경우 True는 1, False는 0으로 환산하게 되어,'5는 True가 아니다'는 '5는 1이 아니다'로 해석되어 True가 됩니다.따라서 "5는 3보다 크고, 5는 1이 아니다"이므로 맞는말, 즉 True가 됩니다.문장 전체를 수학 공식을 읽듯이 읽으면 맞게 이해가 될겁니다 (앞이나 뒤를 먼저 보지 말라는 의미입니다).그런데 만약, (3 < 5) != True 라고 한다면, 어떻게 될까요?먼저 괄호 안의 조건을 검사한 후, 괄호 밖의 조건을 보아야 합니다.즉 (3 < 5)는 True 이므로, 괄호 안을 먼저 계산후 괄호 밖의 결과과 다시 비교하여 True != True가 되므로,최종적으로 연산 결과는 Flase가 됩니다.반대로 3 < (5 != True)라고 한다면, 어떻게 될까요?괄호안의 조건을 먼저 검사하는데 True를 1로 치환한다면, 5 != 1이 되어 True가 됩니다.괄호밖에 이 결과를 적용하면, 3 < True가 되는데, 이는 다시 3 < 1이 되므로, False가 되지요.따라서 최종적으로 연산 결과는 Flase가 됩니다.괄호를 씌우면, 먼저 계산한 결과가 괄호밖에 영향을 주지만,괄호를 씌우지 않으면, A < B < C를 수학에서 한번에 연산하듯이 나누어서 생각하지 말고 한번에 생각하세요.따라서 본인이 작성한 다음 예제인 3>5 != True는 "5는 3보다 작고, 5는 True(1)이 아니다"이므로,앞은 False이고, 뒤는 True이니, 최종적으로 False가 됩니다. 마지막으로 (3 < 5) and 5 != True에서는 연산자 우선순위상 (3<5)를 먼저 계산하고, 5!=True를 계산한후,마지막으로 이 둘의 결과를 and 연산자로 해야 합니다 (앞서 게시판의 연산자 우선순위 글 참조).따라서 3<5는 True이고, 5!=True(1)는 True이므로, 최종 결과는 True가 됩니다.이상입니다. 목록수정삭제답변글쓰기 댓글 [0] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전XOR(!=) 에 대하여question2018-09-30다음reverseStringrun2018-09-29 Powered by MangBoard | 워드프레스 쇼핑몰 망보드