문혜성

2단계중 1단계 질문 드립니다

Traceback:
, in
, in check_and_clear
RuntimeError: dictionary changed size during iteration

이와같은 에러가 나오는데 무엇이 잘못되었나요?

작성중인 코드
def check_and_clear(box):
    print("불량품이 있으면 box를 clear합니다.")
    for key in box.keys():
        if key =="불량품":
            box.clear()
        else: 
            print(box)
1 개의 답변

RuntimeError: dictionary changed size during iteration는 딕셔너리에 이터레이션을 도는 중, 딕셔너리의 크기가 바꼈을 때 발생하는 에러입니다.

for문을 도는 중 box.clear()를 하셨네요.
box.clear()후 for문을 종료하는 코드를 만들시던가, 아니면 for문을 돌지 않고 불량품이 있는지 없는지 검사하는 코드를 짜셔야 합니다.

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