Skip to Main Content

파이썬 기초 가이드: 조건문

코딩 학습 가이드는 소프트웨어학과 송오영교수님이 검수하였습니다.

관계 연산자와 논리 연산자

연산 의미
x == y x와 y가 같은가?
x != y x와 y가 다른가?
x > y x가 y보다 큰가?
x < y x가 y보다 작은가?
x >= y x가 y보다 크거나 같은가?
x <= y x가 y보다 작거나 같은가?

'= 연산자'와 '== 연산자'를 혼동하면 안됩니다. '= 연산자'는 대입 연산자이고, '== 연산자'는 관계 연산자입니다.

 

관계 수식은 참이나 거짓이라는 값을 생성합니다. 파이썬에서 참과 거짓은 True와 False로 표시됩니다.

예로, (2>1)라는 관계식에서 2가 1보다 크기 때문에 이 수식은 참을 의미하는 True 값을 생성합니다.
(1>2) 는 거짓이므로 False 값이 생성됩니다.

연산 의미
x and y AND 연산 : x와 y가 모두 참이면 참, 그렇지 않으면 거짓
x or y OR 연산 : x나 y중에서 하나만 참이면 참, 모두 거짓이면 거짓
not x NOT 연산 : x가 참이면 거짓, x가 거짓이면 참

조건문

'만약에'라는 if의 의미처럼 파이썬에서도 if문은 조건에 따라 다르게 실행되도록 만들 수 있습니다.

형식

if 조건식:
    코드    # 4칸 들여쓰기

파이썬에서 :(콜론)이 나오면 그 다음 줄부터는 무조건 4칸 들여쓰기를 합니다.


x에 9가 들어있으므로 조건식 x<10은 참이 되어 if문 안의 문장을 실행합니다.

1
2
3
= 9
if x < 10 :
    print("10보다 작습니다.")

 

실행결과

10보다 작습니다.

조건이 참일 때 실행하는 문장과 거짓일 때 실행하는 문장이 다를 때는 if-else 문을 사용합니다.
if-else문에서는 만약 조건이 참이면 if 아래의 문장을 실행하고, 조건이 참이 아니라면 else 아래의 문장을 실행합니다.

형식

if 조건식:
    코드1    # 4칸 들여쓰기
else:
    코드2    # 4칸 들여쓰기

 조건의 영향을 받는 문장들은 반드시 들여쓰기 4칸을 해야 합니다.


점수를 입력받은 후 60점 이상이면 프로그램은 "합격입니다."를 출력하고, 그렇지 않으면 "불합격입니다." 메시지를 출력합니다.

1
2
3
4
5
score = int(input("점수를 입력하세요 : "))
if score >= 60:
    print("합격입니다.")
else:
    print("불합격입니다.")

 

실행결과

점수를 입력하세요 : 80(입력)
합격입니다.

실행결과

점수를 입력하세요 : 55(입력)
불합격입니다.

if문 안에 다른 if문이 들어간 것을 중첩 if문이라고 합니다.

나이를 입력받은 후 20살 이상은 성인, 10살 이상은 학생, 10살 미만은 어린이로 처리하는 프로그램입니다.

1
2
3
4
5
6
7
8
age = int(input("나이를 입력하세요. : "))
if age >= 10:
    if age < 20:                # 4칸 들여쓰기
        print("학생입니다.")     # 8칸 들여쓰기
    else:                       # 4칸 들여쓰기
        print("성인입니다.")     # 8칸 들여쓰기
else:
    print("어린이입니다.")       # 4칸 들여쓰기

 

실행결과

나이를 입력하세요. : 21(입력)
성인입니다.

if-else-if-else를 사용하면 복잡해 보일 수 있습니다. 이럴 때는 중간의 else-if를 elif문으로 줄여서 사용할 수 있습니다.

형식

if 조건식:
    코드1   # 4칸 들여쓰기
elif 조건식:
    코드2   # 4칸 들여쓰기
else:
    코드3   # 4칸 들여쓰기

점수를 입력받은 후 90점 이상은 A, 80점 이상은 B, 70점 이상은 C, 60점 이상은 D, 그 외에는 F학점으로 처리하는 프로그램입니다.

1
2
3
4
5
6
7
8
9
10
11
12
score = int(input("점수를 입력하세요 : "))
 
if score >= 90:
    print("A학점")   # 4칸 들여쓰기
elif score >= 80:
    print("B학점")   # 4칸 들여쓰기
elif score >= 70:
    print("C학점")   # 4칸 들여쓰기
elif score >= 60:
    print("D학점")   # 4칸 들여쓰기
else:
    print("F학점")   # 4칸 들여쓰기

 

실행결과

점수를 입력하세요 : 85(입력)
B학점