#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목2022-1H-00 7번 문제 부탁드립니다.2024-06-08 09:38
작성자

[문제7]!6점!

l 메소드!이름:!removeCustomerByName!

l 입력!파라메터!

n 문자열,!고객!이름!

l Return!값!

n 만약!입력!파라메터로!받은!고객!이름이!객체!내부에!저장/관리하는! dictionary에!있다면,!

입력!파라메터로!받은!고객!이름이!포함된!모든!정보를!객체!내부적으로!저장/관리하는!

dictionary에서!삭제한!후,!입력!파라메터!항목이!삭제된!후의! dictionary를! return!함!

n 만약!입력!파라메터로!받은!고객!이름이!객체!내부에!저장하여!관리하는! dictionary에!없다

면,!정수! -1!


질문


제가 쓴 코드는 아래와 같습니다.

이렇게 작성했을 시에 딕셔너리의 요소를 순환하면서 요소를 삭제하게 되므로 오류가 발생한다고 합니다.

오류가 발생하는 이유가 딕셔너리의 요소를 순환하면서 조건을 부합하는 지 체크하며 요소를 삭제하게 되므로 오류가 발생하게 되는 것인가요? 왜 파이썬에서 이런 오류가 발생하는 것인지 궁금합니다.

def removeCustomerByName(self, cname):
        for key, value in self.cdict.items():
            if value == cname:
                self.cdict.pop(key)
       
        for key, value in self.cdict.items():
            if value == cname:
                return self.cdict
        return1
댓글
이전22년도 기말 기출문제 질문2024-06-10
다음22-1 기말 기출 질문2024-06-07