강의로 돌아가기
-

왜 다이소랑 알파문고 둘중 하나만 결과에 뜨는거죠?

for은 반복문 문법이고, 다이소랑 알파문고 모두 풀을 가지고 있으니까

다이소:500원
알파문고:800원
풀을 찾았습니다

이렇게 나와야 하는거 아닌가요?
왜 다이소, 알파문고 둘중 하나만나오는거죠?

작성중인 코드―my_exception
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 이 아래에 Exception을 상속 받는 MyException클래스를 정의하세요.
class MyException(Exception):
    '''ㅁㄴㅇㄹ'''

shops = {
    "송일문방구": {"가위": 500, "크레파스": 3000},
    "알파문구": {"풀": 800, "도화지": 300, "A4용지": 8000},
    "다이소": {"풀": 500, "목공본드": 2000, "화분": 3000}
}

try:
    for shop, products in shops.items():
        for product, price in products.items():
            if product == '풀':
                print("{}: {}원".format(shop, price))
                raise MyException
except MyException:
    print("풀을 찾았습니다.")
1 개의 답변
Demi

풀을 찾은 후에는 무조건 exception 블록이 실행됩니다.
즉, 한번이라도 풀을 찾으면 더 이상 for문을 진행하지 않으므로 다이소 또는 알파문고 중 하나만 뜨는게 정상입니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.