프로그래밍/파이썬
-
백준 11718번 파이썬 try except 구문 기초2020.03.14
백준 11718번 파이썬 try except 구문 기초
이번 문제는 [11718번 - 그대로 출력하기]이다.
처음에는 이렇게 풀었다.
input으로 string 값을 입력 받아 split으로 나눠주게 되면 list형식으로 잘리게 된다.
이 점을 주의하자.
예를 들어서 hi nice to라고 입력을 하고 split(" ")으로 문자 사이 공백으로 문자열을 잘랐다고 생각해보자.
그리고 나서 위의 값을 출력하게 되면 => ['hi', 'nice', 'to']라고 값이 반환된다.
그렇기 때문에 나는 문자들을 빼내기 위하여 중간을 ', '으로 잘라서 문자들을 빼내왔다.
그리고 처음 두 글자와 맨 마지막 글자는 무조건 ['와, ']이기 때문에 3번째 글자부터 마지막 세 번째 글자까지 출력하게 하였다.
그리고 입력이 끝나게 되면 break를 통해서 무한 반복을 탈출하는 식으로 하였다.
그러나
후.. 마음을 가라앉히고 다시 생각해본다.
사실 이 문제는 여러 줄이 한 번에 입력을 받을 수도 있기 때문에 위와 같이 하면 안된다.
위 코드는 한 줄만 입력이 받을 수 있기 때문에(한 줄을 입력 받고 enter를 누르면 바로 EOFerror가 나오기 때문에) 다른 코드로 해야 한다. 사실 어떻게 해야 하는지 모르겠어서 구글에 물어봤다.
그랬더니 많은 고수님들이 try, except 구문을 사용하는 것을 알 수 있었다.
여기서 try, except가 무엇인가?
try:
실행할 코드
except 예외이름:
예외가 발생했을 때 실행할 코드
이렇게 된다.
그래서 나는 아래와 같이 코드를 작성하였다.
while True 문을 통하여 무한 반복을 하되 EOFError가 나게 되면 while 문을 탈출하여 끝이 나게 하는 코드다.
EOFerror는 무엇인가?
ctrl+c를 누르면 파일의 실행을 종료하고는 했었는데 ctrl+d에 상응하는 내용은 파일의 끝이라는 것이다.
참고로 ctrl+c는 KeyboardInterrupt 에러라고 하니 알아두자.
'프로그래밍 > 파이썬' 카테고리의 다른 글
파이썬 2차원 배열 입력받기 백준 2566번 (0) | 2020.03.19 |
---|---|
백준 17173번 배수 파이썬 풀이 (0) | 2020.03.16 |
파이썬 백준 15947번 아기 석환 (2) | 2020.03.15 |
백준 14624번 파이썬 풀이 (0) | 2020.03.15 |
파이썬 시작, 백준 16561 파이썬 풀이 (0) | 2020.03.14 |