강의로 돌아가기
Jinho Park

nameError 발생

코드를 입력하면 아래와 같이 나타납니다.

실행 중 오류가 발생했습니다.
Traceback:
, in
NameError: name 'shops' is not defined

작성중인 코드―my_exception
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 이 아래에 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 개의 답변
정두식_

class정의 안에 shops를 넣으셨기 때문에 코드에서 shops를 사용할수 없어서 그렇습니다. MyException 안으로 shops를 넣지 말아 보세요.

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