학습기록 : 프로그래밍

파이썬 : (4) 조건문과 예외처리

claireyy01 2024. 7. 7. 20:42

오늘은 조건문 (if, else, elif)와 예외처리 (try, except)에 대해 공부한다.

조건문 if, else : 단일 분기문

x = 3

if x == 5 : 
    print('같습니다.')
else :
    print('다릅니다.')

>>> 다릅니다.
  • 코드 실행 : 위의 코드에서 x = 3이므로, 첫 번째 if문 (x == 5)는 거짓(false)이다. 따라서 if문은 실행되지 않고, 다음 줄인 else문이 실행된다.

  • if는 첫번째 조건문에 쓰고, 그 다음 조건문은 else를 쓴다.

  • if와 else 예약어를 작성한 줄에는 꼭 콜론(:)을 써야한다.

  • if, else를 쓴 다음 줄은 들여쓰기 해주어야 한다. (보통은 자동으로 들여쓰기가 되고, 필요할 땐 Tabs 키를 눌러주면 된다.)

    • 들여쓰기가 되었다는 것은 해당 if문에 포함된다는 뜻이다.
    • 아래 예시를 보면 첫번째 if문에는 동일한 들여쓰기가 진행된 print('같습니다.'), 두 번째 if문 (x<5)이 포함되어 있으며 순서대로 실행된다.
      x = 3 
      

    if x == 5 :

    print('같습니다.') 
    if x < 5 : 
        print('작습니다.') 

    else :

    print('다릅니다.')
    
    

조건문에 쓰는 기호들

< : ~(좌변)보다 작은가?  
<= : ~보다 작거나 같은지?  
== : ~와 같은지?
>= : ~보다 크거나 같은지?  
> : ~보다 큰가?  
!= : ~와 같지 않은가?

조건문 if, elif, else : 다중 분기문

x = 5  
if x < 2 :  
    print('작음')  
elif x < 10 :  
    print('중간')  
else :  
    print('실행 완료')
  • 첫번째 조건이 참이면 이 조건만 실행되고 끝난다.
  • 첫번째가 거짓, 두번째 조건이 참이면 두번째 조건까지 실행되고 끝난다.
  • 첫번째와 두번째가 거짓, 세번째 조건이 참이면 모든 조건이 순서대로 실행되고 끝난다. 즉 앞의 모든 조건이 거짓이면 else가 실행된다.

예외처리 : try, except

  • traceback 에러가 뜰 수도 있다고 예상되는 곳에 예외처리를 한다.
  • 에러일 경우 대신 실행될 코드를 주어 코드 실행이 중단되지 않도록 만드는 것이다.
  • 아래 코드에서 try 조건에 있는 str = int(word)는 실행이 불가한 오류이다. 이럴 땐 except문이 실행된다.
word = 'Hello Jay'  
try:  
    str = int(word)  
except:  
    str = -1

print('first', word)
  • 다음 코드에서 try 조건에 있는 str = int(word)는 실행이 가능한 코드이므로, try문에서 실행이 종료된다. (except문이 실행되지 않는다.)
  • except는 try 조건이 실행 불가(오류)일 때만 실행된다.
word = '123'  
try:  
    str = int(word)  
except:  
    word = -1

print('second', word)

다음은 현실적인 조건문과 예외처리 예시이다.

number = input('Enter a number: ') # 사용자에게 숫자를 입력 받음  

try: # 정수로 바꿈 -> 가능하면 if문으로 넘어가서 실행  
    num = int(number) # -> 불가능하면(오류) except문 실행  
except:  
    num = -1

if ival > 0 :  
    print('성공')  
else :  
    print('실패')