Python출력 결과어려움 · 30점#예외#함수#반복문

66. 예외 처리 블록의 실행 순서 추적

다음 Python 프로그램의 실행 결과를 쓰시오.

1def run(items):
2 total = 0
3 for x in items:
4 try:
5 n = 12 // int(x)
6 except ValueError:
7 print("V", x)
8 continue
9 except ArithmeticError:
10 print("A", x)
11 total -= 1
12 except ZeroDivisionError:
13 print("Z", x)
14 else:
15 total += n
16 finally:
17 print("F", total)
18 return total
19
20
21def check(v):
22 try:
23 if v < 0:
24 raise IndexError("neg")
25 return "ok"
26 except IndexError as e:
27 return "err:" + str(e)
28 finally:
29 print("done", v)
30
31
32print("total", run(["3", "x", "0", "5"]))
33print(check(5))
34print(check(-2))

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.