연산 | 의미 |
---|---|
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
|
x = 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학점