파이썬 기초 문법 5

윤수환·2025년 3월 23일

조건문

프로그래밍에서 제어문은 프로그램의 흐름을 관리하기 위해 사용되는 구문으로 순차 구조(sequence), 선택 구조(selection), 그리고 반복 구조(iteration)으로 구분된다.

  • 순차 구조: 일반적인 흐름으로, 소스코드에 입력한 구문(명령)들이 위에서 아래로 순차적으로 진행되는 구조

  • 선택 구조: Boolean 형 조건이 참인지 거짓인지에 따라 실행되는 구문이 달라지는 구조

  • 반복 구조: 소스 코드에 입력한 구문이 반복적으로 실행되는 구조

  • 조건의 진위 여부에 따라 명령 실행 여부 결정
  • 현실 세계의 문제를 해결하려면 조건에 따라 실행을 다르게 할 수 있어야 함
  • 조건에 따라 두 개 또는 여러 개의 실행 경로 가운데 하나를 선택해야 하는 경우가 필요함
  • 조건에 따라 결정을 내리는 문장을 조건문이라 함
  • Python에서는 조건문 처리를 위해 if 키워드를 제공

if문 사용

  • 사용 형식은 if 조건문을 쓰고, 참일 때 수행될 명령문을 적어주면 됨.
    즉, if 블록에 속한 구문들은 거짓일 때는 수행되지 않음
  • 거짓일 때 수행될 명령문은 else 블록에 적어주면 됨.
    즉, else 블록에 속한 구문들은 참일 때는 수행되지 않음
  • else 문은 if 문이 단독으로 쓰일 수 없음
  • 명령문은 반드시 들여쓰기를 하여야 함.
number = 10
if number % 2 == 0 :
    print('짝수입니다.')
else :
    print('홀수입니다.')

if문에서, 조건에 따라 수행될 명령문은 여러 구문도 사용 가능함

number = 10
if number % 2 == 1 :
    print('홀수입니다.')
    print('2로 나누면 나머지가 남기 때문입니다.')
else :
    print('짝수입니다.')
    print('2로 나누어지기 때문입니다.')
score = int(input('점수를 입력하세요 : '))
if score >= 70 :
    print('Pass')
else :
    print('Fail')

여러 개의 조건식 사용

  • True, False를 판단함에 있어 논리연산자를 사용하여 여러 개의 조건식을 나열할 수 있음
    if (조건식) 논리연산자 (조건식) 형태로 사용

점수와 평균을 입력 받아 합격, 불합격 여부를 판단하는 프로그램

score, avg = input('점수와 평균을 입력하세요 : ').split()
score = int(score)
avg = float(avg)

if score >= 70 and avg >= 60:
    print('Pass')
else :
    print('Fail')

in, not in 연산자 사용

  • in, not in의 결과는 True 또는 False 이므로 조건문에 사용 가능함
nameList = ['박주건', '고두찬', '홍길동', '임꺽정']
name = input('검색할 이름을 입력하세요: ')
if (name in nameList) :
    print('회원입니다.')
else :
    print('비회원입니다.')
nameDic = {'박주건': 1001, '고두찬': 1002, '홍길동': 1003, '임꺽정': 1004}
name = input('검색할 이름을 입력하세요: ')
if (name in nameDic) :
    print('회원입니다.')
else :
    print('비회원입니다.')

elif 문 사용

조건을 여러 개 줄 때 사용

score = int(input('점수를 입력하세요 : '))
if score >= 90 :
    print('A')
elif score >= 80 :
    print('B')
elif score >= 70 :
    print('C')
elif score >= 60 :
    print('D')
else :
    print('F')

중첩 if문 사용

들여쓰기에 유의

score = int(input('점수를 입력하세요: '))
if score >= 90:
    if score >= 95:
        print('A+')
    else:
        print('A')
elif score >= 80:
    if score >= 85:
        print('B+')
    else:
        print('B')
else:
    print('C, D, F 중 하나')

0개의 댓글