정재욱

except 쪽에서 질문입니다.

과제는 통과했는데 궁금한점 있어서 질문합니다.

except StopIteration:
print('정상종료')

여기서 except에서 꼭 print문이 필요하나요?????없으니까 에러 뜨던데

작성중인 코드
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 StopIteration
except StopIteration:
    print('이게 꼭 필요하나;;')
1 개의 답변
정찬형

파이썬은 다른 언어와 다르게 코드를 괄호로 구별하지 않습니다.
때문에 빈함수를 만든다거나 질문하신 try except에서 아무행동도 하지 않고 싶다면 내용을 채워줘야 합니다.

except StopIteration: 
    '''아무 행동을 하지 않는다'''

위처럼 작성하시면 됩니다.

  • 유근지
    아니면 pass 를 쓰는것도.. ― 유근지 2017.8.18 11:24
  • 정재욱
    감사합니다! ― 정재욱 2017.8.18 11:24
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.