봔하는 수달

[코테] if 조건문 or 연산에서 주의점 본문

개발

[코테] if 조건문 or 연산에서 주의점

봔수달 2023. 4. 4. 10:08

코딩을 하다보면 조건문을 통해서 2가지 조건을 만족하는 코드라인을 구현할때 보통 if 와 or을 사용하게된다.

 

이 과정에서 흔히들 하는 실수가 다음과 같은 코드를 구현한다는 것이다.

if i == 'y' or 'Y'

if i == 'y' or 'Y': 이 코드는 i가 'y'와 같거나 'Y'와 같은지를 검사하는 것이 목적이다.

그러나 이 코드는 의도한 대로 작동하지 않는다.

 

or 연산자는 두 개의 피연산자 중 하나라도 True이면 전체 식이 True가 되는데. 

 

or 연산자 왼쪽에 있는 i == 'y'는 True 또는 False가 될 수 있지만, 오른쪽에 있는 'Y'는 항상 True가 된다.

이유는 비어 있지 않은 문자열은 True로 평가되기 때문이다.

따라서 if i == 'y' or 'Y': 식은 항상 True를 반환합니다. 올바른 코드는 다음과 같이 작성해야 한다.

 

if i in ['y', 'Y']:

 

'개발' 카테고리의 다른 글

CAN Network 이상탐지  (0) 2023.01.07
악성 APK 디텍터 개발 일지  (1) 2022.07.16
Comments