Coding & Programming/Python 기초(A-Z)

[Python:파이썬:기초] 10. if...else문

mainCodes 2021. 5. 19. 10:04

[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
= 100
= 200
= 200
= 300
= 0
= "hello"
= "hello"
= "world"
l1 = [12345]
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였습니다 (•̀ᴗ•́)و