[Python:파이썬:기초] 10. if...else문
안녕하세요 JollyTree입니다 (•̀ᴗ•́)و
C/C++ 언어가 그렇듯이 파이썬도 수학의 논리적 조건으로 프로그램을 제어할 수 있는 if...else문을 지원합니다. 다음은 파이썬에서 사용하는 논리 조건들로 if...else 문뿐만 아니라 while 문에서도 사용됩니다.
a == b # a와 b가 같음 a > b # a가 b보다 큼 a < b # a가 b보다 작음 a != b # a와 b가 같지 않음 a >= b # a가 b보다 크거나 같음 a <= b # a가 b보다 작거나 같음 |
if문은 기본적으로 조건에 따라 프로그램을 분기하는 용도로 사용됩니다. 다음은 조건에 따른 if 문의 사용과 다양한 형태의 if 조건문의 기본 형태입니다.
단독 if 문
[조건1]이 참(True)이면 코드1이 실행합니다.
if [조건1]:
코드1
#if ...else 문
[조건 1]이 참(True)이면 코드 1만 실행되며 그렇지 않으면 코드2만 실행됩니다.
if [조건1]:
코드1
else:
코드2
#if...elif...else문
[조건 1]이 참(True)이면 코드 1만 실행되며, 코드 2가 참(True)이면 코드 2만 실행되고 그렇지 않으면 코드3이 실행됩니다.
if [조건1]:
코드1
...
elif [조건2]:
코드2
...
else:
코드3
#if...elif...elif...else 문
앞의 #if... elif... else 문과 동일합니다. 파이썬은 elif문을 여러 개 사용할 수 있으며 elif의 조건이 True이면 해당 블록의 코드를 실행합니다. if, elif, elif... 의 모든 조건이 False이면 else문의 코드가 실행됩니다>
[조건 1]이 참(True)이면 코드 1을 실행하고 그렇지 않고 만약 [조건 2]가 참(True)이면 코드 2를 실행하고 그렇지 않고 만약 [조건 3]이 참(True)이면 코드3을 실행하고 [조건1], [조건2], [조건3] 모두가 거짓(False)이면 코드4를 실행합니다.
if [조건1]:
코드1
...
elif [조건2]:
코드2
...
elif [조건3]:
코드3
...
else:
코드4
...
파이썬은 조건에 논리 연산자(and, or, not)를 사용할 수 있습니다. 이는 if문뿐만 아니라 while문에서도 동일하게 적용됩니다. and 연산자를 사용할 경우 [조건1]과 [조건2] 모두가 참(True)이면 코드1이 실행되며 그렇지 않으면 코드2가 실행됩니다.
if [조건1] and [조건2]:
코드1
...
else:
코드2
...
or 연산자는 [조건1]과 [조건2] 중 한 개 조건만 참(True)이면 코드1이 실행되며 그렇지 않으면 코드2가 실행됩니다. [조건1]과 [조건2] 모두가 거짓(False)인 경우도 코드2가 실행됩니다.
if [조건1] or [조건2]:
코드1
...
else:
코드2
...
아래는 not 연산자에 대한 표현으로, [조건 1]이 참(True)이면 코드2가 실행되고, [조건1]이 거짓(True)이면 코드1이 실행됩니다. 이는 not 연산자는 조건의 반대이기 때문입니다.
if not [조건1]:
코드1
...
else:
코드2
...
※ 들여쓰기(Indentation) |
파이썬은 들여쓰기에 매우 민간한 언어입니다. if, elif 조건이 참(True)인 경우 해당 조건에 맞는 코드 즉, 코드1, 코드2, 코드3, 코드4 등이 실행되려면 꼭! 들여쓰기가 되어 있어야 합니다. 들여쓰기는 공백 4칸을 권합니다. |
※ 조건부 표현식(Conditional Expression) |
"코드1" if [조건1] else "코드2" 조건부 표현식은 코드를 한줄로 작성할 수 있으며 [조건1]이 참(True)이면 코드1이 실행되며 그렇지 않은 경우 코드2가 실행됩니다. 아래 예제에 포함되어 있으니 참고하세요. |
예제는 단순 조건비교, 논리 연산자, 문자열 비교 등 여러 형태의 if, elif, else 문에 대한 실제 사용 예제를 보여줍니다.
🔗 if... else 문 예제(Example):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
a = 100
b = 200
c = 200
d = 300
e = 0
f = "hello"
g = "hello"
h = "world"
l1 = [1, 2, 3, 4, 5]
l2 = ['apple', 'watermelon', 'persimmon']
if a < b: #조건이 거짓(False)
print("a가 b보다 큽니다") #실행되지 않음
print("코드1이 실행되었습니다.") #실행되지 않음
if b >= c:
print("b가 c보다 크거나 같습니다.") #<- 여기 코드만 실행
elif b <= c:
print("b가 c보다 작거나 같습니다.")
else:
print("b가 c보다 작거나 같지 않습니다.")
if a > b:
print("a가 b보다 큽니다")
else:
print("a가 b보다 작습니다.")
if b > c:
print("b가 c보다 큽니다")
elif b < c:
print("b가 c보다 작습니다.")
else:
print("b와 c는 같습니다.")
if a == 0:
print("a는 0입니다.")
elif b == 0:
print("b는 0입니다.")
elif c == 0:
print("c는 0입니다.")
else:
print("a, b, c 모두 0이 아닙니다.")
#조건부 표현식
print("[조건부표현]a가 b보다 큽니다") if a > b else print("[조건부표현]a가 b보다 작습니다.")
#논리연산자 and, or, not
if (a < b) and (e == 0):
print("[조건1], [조건2] 모두가 True입니다.")
else:
print("[조건1] 또는 [조건2]가 False입니다.")
if (a > b) or (e == 0):
print("[조건1], [조건2] 중 한 개가 True입니다.")
else:
print("[조건1], [조건2] 모두가 False입니다.")
if not (a > b):
print("[반대]a가 b보다 큽니다")
else:
print("[반대]a가 b보다 작습니다.")
#문자열 비교
if f == g:
print("f와 g는 동일합니다.")
else:
print("f와 g는 동일하지 않습니다.")
if g == h:
print("g와 h는 동일합니다.")
else:
print("g와 h는 동일하지 않습니다.")
if 2 in l1:
print("리스트 l2에 2가 포함되어 있습니다.")
else:
print("리스트 l2에 2가 없습니다.")
if 'grape' in l2:
pass
else:
print("과일이 없습니다.")
|
cs |
🔗 실행결과(Output):
이상 JollyTree였습니다 (•̀ᴗ•́)و
'Coding & Programming > Python 기초(A-Z)' 카테고리의 다른 글
[Python:파이썬:기초] 12. for 문(반복문) (2) | 2021.05.21 |
---|---|
[Python:파이썬:기초] 11. while 문(반복문) (0) | 2021.05.20 |
[Python:파이썬:기초] 9. 자료형 - 특성요약 : 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary), 집합(Set) (0) | 2021.05.18 |
[Python:파이썬:기초] 8. 자료형 - 불(boolean) (0) | 2021.05.17 |
[Python:파이썬:기초] 7. 자료형 - 집합(Set) (0) | 2021.05.16 |