학습기록 : 프로그래밍
파이썬 : (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('실패')