250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 회귀 알고리즘 평가
- 항공지연
- 지니 불순도
- 퍼셉트론
- 더미 기법
- 지도학습
- 머신러닝 과정
- 평가용 데이터
- 경사하강법
- 수치형 자료
- 웹 크롤링
- 이상치 처리
- 학습용데이터
- LinearRegression 모델
- 다중선형 회귀
- 데이터 전 처리
- MSEE
- 딥러닝 역사
- 불순도
- 분류 머신러닝 모델
- 스케이링
- 데이터 분리
- 지도학습 분류
- 가중치 업데이트
- 알고리즘 기술
- ICDL 파이썬
- 수치 맵핑 기법
- 뉴런 신경망
- 명목형
- 결측값 처리
Archives
- Today
- Total
끄적이는 기록일지
10. [파이썬] 예외처리 사용하기 본문
728x90
1. 예외처리
try :
예외가 발생할 문장
except 예외 종류 :
발생하면 실행할 문장
else :
발생하지 않을 때 실행할 문장
2. ValueError 에러
#예외처리 예제1
#정상적인 경우
print('정상적인 경우\n')
no1 = int(input('숫자를 입력하세요:'))
print("\n입력값은 %s입니다." %no1)
#예외처리를 발생한 경우
print('\n예외가 발생하는 경우')
try :
no2 =int(input('숫자를 입력하세요:'))
except ValueError : #except만 사용하면 모든 에러에 대처
print('숫자를 입력하세요~')
else : #정상적인 경우
print("\n입력값은 %s입니다." %no2)
>>정상적인 경우
숫자를 입력하세요:2
입력값은 2입니다.
예외가 발생하는 경우
숫자를 입력하세요:a
숫자를 입력하세요~
3. 0으로 나눌 때 발생하는 예외
no1 = 10
no2 = 0
try :
print(no1 / no2)
except ZeroDivisionError :
print("0으로 나눌 수 없습니다.")
>>0으로 나눌 수 없습니다.
3) 여러가지 예외 메시지 지정하기
#방법 1
no1 = 10
no2 = 0
try :
print(no1 / no2)
except (ValueError, ZeroDivisionError) :
print("예외상황이 발생했습니다.")
>>예외상황이 발생했습니다.
#방법 2
no1 = 10
no2 = 0
try :
print(no1 / no2)
except ValueError :
print("잘못된 값입니다.")
except ZeroDivisionError :
print("0으로 나눌 수 없습니다.")
>>0으로 나눌 수 없습니다.
연습문제 1
아래 그림과 같이 총 5건의 이름이 저장되어 있는 "예외처리연습.txt."파일이 있습니다. 이 파일을 불러온 후 사용자에게 출력할 건수를 입력 받아서 해당 건수만큼 출력을 하되 파일의 건수보다 많은 건수를 출력할 경우 아래 그림과 같이 IndexError가 발생합니다. 파일의 행수보다 많은 행수가 입력될 경우 "모든 행이 출력 완료되었습니다."라는 메시지를 출력하도록 예외처리를 활용하여 코드를 작성하시오.
num = int(input("몇 번째까지 출력할까요?:"))
try :
for i in range(num) :
#open 파일 불러와 파일을 읽는다
file = open("C:\py_temp2\예외처리연습.txt").read().splitlines()
#읽은 파일을 한 행씩 분리하여 출력해준다.
print(file[i])
#기존 행보다 많이 출력될 경우 아래와 같이 메세지를 출력한다.
except IndexError :
print("모든 행이 출력완료되었습니다.")
>>몇 번째까지 출력할까요?:3
홍길동
일지매
전우치
# 파일의 행수보다 많은 행수가 입력됐을 때
>>몇 번째까지 출력할까요?:6
홍길동
일지매
전우치
강감찬
신사임당
모든 행이 출력완료되었습니다.
728x90
'파이썬' 카테고리의 다른 글
11. [파이썬] 웹데이터 수집 자동화 - 웹크롤링(크롬버전 확인, 크롬드라이버 설치)(1) (0) | 2021.07.03 |
---|---|
9-1. [파이썬] HTML 기본문법 - 태그(tag) (0) | 2021.07.02 |
9. [파이썬] HTML 기본문법 (0) | 2021.07.02 |
8. [파이썬] 디렉토리와 파일관리(SyntaxError 오류) (0) | 2021.07.02 |
7. [파이썬] 사용자정의 함수와 패키지 모듈 (0) | 2021.07.01 |
Comments