# 예외처리 : 예외가 발생한 경우 정상화 시켜주기 위한 기능
# try except 예약어 사용함
idx = "파이썬".index('일') #예외 발생됨 비정상 종료됨 파이썬 문장 출력안됨
print("파이썬")
mystr = "파이썬 공부 중입니다. 파이썬을 열심히 공부합시다."
strpos=[] # 파이썬의 위치 값을 저장
index = 0
while True :
index = mystr.find("파이썬",index) #0
if index == -1:
break
strpos.append(index)
index += 1
print("파이썬 문자의 위치",strpos,"문자의 갯수",len(strpos))
# 예외처리
mystr = "파이썬 공부 중입니다. 파이썬을 열심히 공부합시다."
strpos=[]
index = 0
while True :
try :
index = mystr.index("파이썬",index)
strpos.append(index)
index += 1
except :
break
print("파이썬 문자의 위치",strpos,"문자의 갯수",len(strpos))
'''
012 34 56789 13
파이썬 공부 중입니다. 파이썬
'''
# 숫자만 입력하세요 출력하기
try :
int("홍길동") #예외 발생
except : #예외 발생시만 실행되는 구문
print("숫자만 입력하세요.")
try :
print(int(123)) #예외 발생
except : #예외 발생시만 실행되는 구문
print("숫자만 입력하세요.")
# 다중 예외처리
# 하나의 try 구문에 except 구문이 여러개인 문장
# 발생되는 예외 별로 다른 처리가 가능
num1 = input("숫자형 문자 1 입력 :")
num2 = input("숫자형 문자 2 입력 :")
num1 = int(num1)
num2 = int(num2)
# 문자 입력시 ValueError 예외 발생 => 예외 처리하기
num1 = input("숫자형 문자 1 입력 :")
num2 = input("숫자형 문자 2 입력 :")
try :
num1 = int(num1)
num2 = int(num2)
except ValueError as e :
print("숫자만 입력하세요. 숫자로 변환 할 수 없습니다.")
print(e)
# 예외 발생
num1 = input("숫자형 문자 1 입력 :")
num2 = input("숫자형 문자 2 입력 :")
try :
num1 = int(num1)
num2 = int(num2)
res = num1/num2
print(res)
except ValueError as e :
print("숫자만 입력하세요. 숫자로 변환 할 수 없습니다.")
print(e)
except ZeroDivisionError as e :
print("0으로 나눌 수 없습니다.")
print(e)
finally :
print("프로그램 종료")
# 무한 반복 while문 추가와 KeyboardInterrupt 추가
num1 = input("숫자형 문자 1 입력 :")
num2 = input("숫자형 문자 2 입력 :")
try :
num1 = int(num1)
num2 = int(num2)
while True :
res = num1/num2
print(res)
except ValueError as e :
print("숫자만 입력하세요. 숫자로 변환 할 수 없습니다.")
print(e)
except ZeroDivisionError as e :
print("0으로 나눌 수 없습니다.")
print(e)
except KeyboardInterrupt as e :
print("프로그램 강제 종료 시켰습니다. 프로그램 코딩을 확인하세요.")
finally :
print("프로그램 종료")
최종
num1 = input("숫자형 문자 1 입력 :")
num2 = input("숫자형 문자 2 입력 :")
try :
list1 = [0]
print(list1[0]) #IndexError 예외 발생
num1 = int(num1)
num2 = int(num2)
while True :
res = num1/num2
print(res)
except ValueError as e :
print("숫자만 입력하세요. 숫자로 변환 할 수 없습니다.")
print(e)
except ZeroDivisionError as e :
print("0으로 나눌 수 없습니다.")
print(e)
except KeyboardInterrupt :
print("프로그램 강제 종료 시켰습니다. 프로그램 코딩을 확인하세요.")
except :
print("프로그램 코딩확인하세요.")
finally :
print("프로그램 종료")
'Python' 카테고리의 다른 글
Python - Class (0) | 2021.06.16 |
---|---|
Python - 예외처리 연습문제 (0) | 2021.06.16 |
Python - 함수/입력 연습 문제(피보나치 수열, 홀수 짝수 문제) (0) | 2021.06.15 |
Python - 반환값 return (0) | 2021.06.14 |
Python - 함수와 람다 (0) | 2021.06.14 |