본문 바로가기

Programming/Python

Do it! 공부단 3일차 | ch03 제어문_if 문

예제 코드는 IDLE 에디터에서 작성했다. 에디터 창에서 바로 프로그램을 실행할 땐 단축키 F5를 사용한다.

 

01 if 문

01-1 if 문의 구조

간단한 예제를 보자.

 

money = True 
if money:
    print("택시를 타고 가라")
else:
    print("걸어가라")

 

실행 결과

  • if 문을 만들 때는 if 조건문: 바로 아래 문장부터 if 문에 속하는 모든 문장에 들여 쓰기(indentation)를 한다.
  • 들여 쓰기는 언제나 같은 너비로 하며, 그렇지 않을 경우 오류가 발생한다.
  • 파이썬 커뮤니티에서는 들여 쓰기를 공백(Spacebar) 4개를 사용하는 것을 권장한다.
  • if 조건문 뒤에는 반드시 콜론(:)이 붙는다(while, for, def, class 문에서도 마찬가지다).

 

money = True 
if money:print("택시를 타고 가라")
else:print("걸어가라")
  • if 문의 수행할 문장이 한 줄 일 땐 이어서 작성이 가능하다.

 

01-2 조건문

if 문의 조건문의 자리에는 아래에서처럼

 

money = 2000
card = True
if money >= 3000 or card:
    print("택시를 타고 가라")
else:
    print("걸어가라")

 

실행 결과

  • 비교 연산자(<,>,==,!=,>=,<=)와 and, or, not 연산자가 들어갈 수 있다.

 

pocket = ['paper', 'money', 'cellphone']
if 'money' in pocket:
    pass
else:
    print("카드를 꺼내라")

 

실행 결과

  • x in s, x not in s 연산자를 리스트, 튜플, 문자열과 함께 사용할 수 있다.
  • 조건문의 참·거짓에 따라 실행할 행동을 정의할 때 아무런 일도 하지 않으려면 pass를 사용한다.

 

01-3 elif

pocket = ['paper', 'cellphone']
card = True

#주머니에 돈이 있는 경우
if 'money' in pocket: 
    print("택시를 타고 가라")
    
#주머니에 돈이 없고 카드가 있는 경우
elif card:
    print("택시를 타고 가라")
    
#주머니에 돈도 없고 카드도 없는 경우
else:
    print("걸어가라")

 

  • 다양한 조건을 판단해야할 때에는 elif를 사용한다.
  • elif는 조건문이 거짓일 때 수행된다.
  • elif는 개수에 제한 없이 사용할 수 있다.

 

01-4 조건부 표현식

  • 조건부 표현식(conditional expression)을 사용하면 코드를 좀 더 간단하게 작성할 수 있다.
  • 조건문이 참인 경우 if 조건문 else 조건문이 거짓인 경우

 

코드에서 조건부 표현식 사용 전 후의 모습을 보자.

#조건부 표현식 사용 전
score = 70
if score >= 60:
    message = "success"
else:
    message = "failure"
print(message)
#조건부 표현식 사용 후
score = 70
message = "success" if score >= 60 else "failure"
print(message)

 

실행 결과

결괏값은 같지만 if문의 코드는 한 줄로 줄어들었다.

 

 


조건문 내 들여 쓰기를 꼭 해줘야 한다는 점이나 in(또는 not in) 연산자, elif 같은 것들이 신기하다. 배울수록 쉽고 간결하며 사람의 사고 체계와 닮아있다는 파이썬의 특징이 잘 나타난다😮

 


이 글은 책 『Do it! 점프 투 파이썬』을 읽은 후 작성한 글입니다.

 

Do it! 점프 투 파이썬

코딩을 처음 배우는 중·고등학생과 나만의 경쟁력을 갖추고 싶은 문과생, 소프트웨어 시대에 대비하여 새로운 스펙을 준비하려는 직장인까지! 모두 ‘점프 투 파이썬’으로 프로그래밍을 시작

www.easyspub.co.kr