ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 10. if 조건문으로 특정 조건일 때 코드 실행하기
    Python/Grammar 2022. 12. 2. 10:32

    # 1. if 조건문 사용하기

    if 조건문은 의사코드(pseudo code)의 일종이다. 의사코드란 실제 프로그래밍 언어가 아닌 사람의 언어로 프로그래밍 언어를 표현한 것이다. 예를 들어 'x = 10'이라는 파이썬 코드를 '변수 x에 10 할당'과 같이 한글로 의사코드를 표현할 수 있다.

     

    1-1. if 조건문의 기본 형태와 실행 흐름

    : if 조건문은 if 조건식 다음줄에 들여쓰기 후 조건식이 만족할 때 실행할 코드를 넣는다. 조건식이 만족할 때 실행할 코드를 if 본문(if body)이라고 부른다.

    if 조건문의 기본 형태(출처: 파이썬 코딩도장 UNIT 13)
    if 조건문의 실행 흐름(출처: 파이썬 코딩도장 UNIT 13)

     

    1-2. if 조건문을 사용할 때 주의할 점

    • 들여쓰기

    : if 조건문 다음줄부터 형성되는 코드블럭(if body) 안에서는 같은 깊이로 들여쓰기를 해줘야 한다. IDLE 파이썬 셸에서는 자동 들여쓰기가 되지만 콘솔 파이썬 셸에서는 자동으로 들여쓰기가 되지 않으므로 탭, 공백 2칸, 공백 4칸 등으로 들여쓰기를 해준다. PEP8(파이썬 코딩 스타일 가이드)에서 권장하는 들여쓰기는 공백 4칸이다.

    • 조건문에서 할당 연산자 = 가 아닌 비교 연산자 "==" 사용하기

    : 조건문에서는 값을 할당하지 않고 비교해야하므로 ==를 사용한다.

    • 조건식 끝에 ":" 포함하기

     

    1-3. if 조건문에서 코드를 생략하기

    : if 조건문이 참일 때 수행할 코드를 생략한다고 아무런 코드도 작성하지 않으면 에러가 발생한다. 이럴 때는 if 조건문이 참일 때 수행할 코드로 pass를 써주면 if 조건문 형태를 유지할 수 있다. pass로 작성한 코드를 다시 작성해야 하는 것을 기억하기 위해서 TODO 주석으로 표기하고 넘어간다. 

    • pass
    x = 10
    if x == 10:
        pass # TODO: x가 10일 때 수행할 코드 작성해야함

     

    1-4. 중첩 if 조건문 사용하기

    : if 조건문 안에서 또 if 조건문을 사용할 수 있다. 나중에 쓴 if 조건문은 먼저 쓴 조건문에 속하게 된다. height의 값과 160을 비교하는 두 개의 조건문은 name == 'Alice'가 참인 조건에 속해있으며, 두 개의 조건문은 들여쓰기 깊이가 같다. 

    name = Alice
    height = 170
    
    if name is 'Alice':
        print('Hello')
        if height <= 160: # name은 Alice이고 height가 160 이하인 경우
            print('you can pass the door')
        if height > 160:  # name은 Alice이고 height가 160 초과인 경우
            print('sorry, go back')
            
    # 실행 결과
    Hello
    sorry, go back

     

    1-5. input 함수와 if 조건문 함께 사용하기

    : 다음 코드는 변수에 값을 할당하는 하드코딩 없이 input 함수를 사용해서 사용자가 입력한 값을 변수에 저장 후 if 조건문을 수행한다.

    name, height = input().split() # 입력받은 값을 name과 height에 저장
    height = int(height)
    
    if name is 'Alice':
        print('Hello')
        if height <= 160: # name은 Alice이고 height가 160 이하인 경우
            print('you can pass the door!')
        if height > 160:  # name은 Alice이고 height가 160 초과인 경우
            print('sorry, go back')
            
    # 입력
    Alice 160
    
    # 실행결과
    Hello
    you can pass the door!

     

     

    # 예제 1. if 조건문 사용하기 (본문 13.6 연습문제)

    다음 소스 코드를 완성하여 x의 값이 10이 아닐 때 'ok'가 출력되게 만드세요.

    x = 5
     
    if x != 10:
        print('ok')

     

     

    # 예제 2. 온라인 할인 쿠폰 시스템 만들기 (본문 13.7 연습문제)

    표준 입력으로 가격(정수)과 쿠폰 이름이 각 줄에 입력됩니다. Cash3000 쿠폰은 3,000원, Cash5000 쿠폰은 5,000원을 할인합니다. 쿠폰에 따라 할인된 가격을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).

    price = int(input())
    cupon = input()
    
    if cupon == 'Cash3000':
      print(price - 3000)
    
    if cupon == 'Cash5000':
      print(price - 5000)

    'Python > Grammar' 카테고리의 다른 글

    11. else를 사용하여 두 방향으로 분기하기  (0) 2023.03.09
    13. 반복문 제어하기  (0) 2022.12.08
    9. 딕셔너리 만들기  (0) 2022.12.02
    8. 시퀀스 자료형 사용하기  (0) 2022.12.01
    7. 리스트와 튜플 사용하기  (0) 2022.12.01

    댓글

Designed by Tistory.