python if statement

초코바나나탕수육·2021년 11월 16일
0

python에도 if문이라고 부르는 if statement가 존재하고, 특정한 조건을 확인 할 때 사용한다.


python if statement의 구조

python if문의 자세한 구조는 다음과 같다.

if expression:
    codes to execute ```

expression 뒤에 오는 값이 True이면 출력하고 Fasle이면 실행되지 않는 구조이다.

또한 전 시간에 살펴보았던 들여쓰기의 중요성을 다시 한 번 느낄 수 있는데,

if condition:
    print("if statement code 1")
    print("if statement code 2")
print("Not if statemet code")```

다음과 같이 code1,2의 print는 if문 안에서 들여쓰기 되어있으므로 if문과 연결되어 있는 코드이다(condition변수가 True이면 실행됨). code3 의 출력문은 if문과 동일한 간격 선상에 있으므로 독립적인 구문이다(condition변수와 상관없이 실행됨).


python 논리 연산자

python에서는 논리 연산자가 존재하는데 대표적으로 and, or, not이 있다. 다음 표를 통해 살펴보자.

논리연산자문법설명
anda and bAND(논리곱), 양쪽 모두 참일때 참
ora or bOR(논리합), 양쪽 중 한 쪽만 참이라도 참
notnot xNOT(논리부정), 참과 거짓을 뒤집음

※ 식 하나에 and, or, not이 모두 있으면 not, and, or 순으로 된다.

다음 예제를 통해 자세히 살펴보자.

Assignment

is_odd_and_greater_than_twenty 함수를 작성하세요.

  • 숫자가 주어졌을때 주어진 숫자가 홀수이고 20보다 큰 경우에만 True를 리턴 합니다.
  • 조건을 만족하지 않을 경우 False을 리턴 합니다.

다음과 같은 문제가 주어졌을때 우리는 두가지 방법으로 해결할 수 있다. 위에서 살펴본 and 연산자를 사용하거나 if문을 중첩하는 방법인데, 지금은 and 연산자를 이용해 문제를 해결하겠다.

def is_odd_and_greater_than_twenty(num):
    if num % 2 == 1 and num > 20:
      return True
    else:
      return False

위의 코드와 같이 num을 2로 나눠 나머지가 1이 나옴과 동시에 20보다 큰 경우엔 True를 반환해주는 식이다.


elif and else

위에서 살펴본 if문은 딱 하나의 condition 만 판단하는 간단한 구조였다. 하지만 python에서는 더 복잡한 경우가 있을 수 도 있다.(아니 압도적으로 더 많다 ㅠ ㅠ)

자동차 브랜드를 예로 들면 현대,기아에서 제조한 차는 '국산차'로 출력하고 아니면
'외제차'로 출력해야 한다고 할 때 단순 if 문으로 작성한다면

if car == "현대":
    print("국산차")
if car == "기아":
    print("국산차")
if car != "현대":
    print("외제차")
if car != "기아":     
    print("외제차")

얼마나 끔찍한 상황인가.. 이를 해결하기 위해 python에서는 elif(js에선 else if였는데..) 와 else를 지원한다. 위의 끔찍한 코드를 간결히 해결하기 위해 elif를 써보면

if car == "현대":
    print("현대는 국산차")
elif car == "기아":
    print("기아는 국산차")

else 도 이용해보겠다.

if car == "현대":
   print("현대는 국산차")
elif car == "기아":
   print("기아는 국산차")
else:
   print("외제차")

이런식으로 코드를 줄여나갈 수 있다 !!

0개의 댓글