Coding for KidsCoding for Kids
창의적인 레벨도전 과제교사 가이드
기능 투표
고급 파이썬 개발 과정
챕터
>
레벨

고급 클래스
비교 연산자 오버로딩

목표

비교 연산자 오버로딩을 사용하여 배송물을 올바르게 확인하고 라벨을 붙입니다.

선적 부두에는 매장으로 가져갈 준비가 된 와인 통들이 있습니다. 하지만 이들은 직원들이 문제 없이 선택하여 배송할 수 있도록 라벨을 붙이고 준비되어야 합니다. 이를 위해 이전 장에서 배운 연산자 오버로딩과 유사한 비교 연산자 오버로딩을 사용하여 클래스에 비교 연산자를 오버로딩해야 합니다.

부두에는 각각 2개의 통이 포함된 3개의 주문이 있습니다. 각 주문에는 주문에 포함된 통의 무게 비율을 나타내기 위한 표지판이 있습니다. 에디터에는 비교 연산자 오버로딩을 사용할 수 있게 해주는 barrel이라는 클래스가 정의되어 있습니다. 또한 에디터에는 less_than(), greater_than(), equal_to()라는 3개의 함수가 설정되어 있으며, 이 함수들은 표지판에 무게 비율을 기록하는 데 사용됩니다.

먼저 빨간 카펫 위의 어두운 X 마크와 밝은 X 마크 쪽으로 걸어가서 통들을 마주한 후, read() 함수를 사용하여 통 안에 있는 와인의 이름과 통의 무게를 확인합니다. 예: await player.read()

barrel 클래스를 사용하여 어두운 통과 밝은 통의 객체를 생성하고, read() 함수로 확인한 정보를 추가하세요. 객체를 생성한 후, 두 객체를 비교하는 또 다른 객체를 생성합니다. 예시:

red_barrel_dark = barrel("Wine name", 000) red_barrel_light = barrel("Wine name", 000) red_barrel_compare = red_barrel_dark < red_barrel_light

read() 함수를 사용할 때 메시지에 표시된 와인의 이름을 통 클래스 객체에 정확하게 작성해야 합니다.

객체들은 카펫과 색상의 X 마크에 따라 명명 규칙을 사용하여 생성하세요. 빨간 카펫의 경우, 통을 비교할 때 < 연산자를 사용하여 어두운 통의 무게가 밝은 통보다 가벼운지 확인합니다. 이 구간을 마치려면 빨간 카펫 위의 금색 X 마크로 걸어가서 표지판을 마주한 후, 비교 객체를 사용하여 통의 무게 비율을 기록하는 less_than() 함수를 다음과 같이 사용하세요: less_than(red_barrel_compare) .

다음으로 초록 카펫 위의 어두운 X 마크와 밝은 X 마크로 걸어가서 동일한 과정을 반복합니다. 어두운 X 마크와 밝은 X 마크에서 read() 함수를 사용하고 해당 정보를 가진 객체들을 생성하세요. 초록 카펫의 비교 객체에서는 이번에 > 연산자를 사용하여 어두운 통의 무게가 밝은 통보다 무거운지 확인합니다. 초록 카펫 위의 금색 X 마크로 걸어가서 표지판을 마주한 후, 비교 객체를 사용하여 통의 무게 비율을 기록하는 greater_than() 함수를 다음과 같이 사용하세요: greater_than(green_barrel_compare) .

파란 카펫 위의 어두운 X 마크와 밝은 X 마크로 걸어가서 동일한 과정을 반복합니다. 어두운 X 마크와 밝은 X 마크에서 read() 함수를 사용하고 해당 정보를 가진 객체들을 생성하세요. 파란 카펫의 비교 객체에서는 이번에 == 연산자를 사용하여 어두운 통의 무게가 밝은 통과 같은지 확인합니다. 파란 카펫 위의 금색 X 마크로 걸어가서 표지판을 마주한 후, 비교 객체를 사용하여 통의 무게 비율을 기록하는 equal_to() 함수를 다음과 같이 사용하세요: equal_to(blue_barrel_compare) .

모든 주문에 라벨이 붙으면, 부두의 주황 카펫 위의 금색 X 마크로 걸어가서 출구로 이동합니다. 표지판을 마주한 후, write() 함수를 사용하여 각 주문에 무엇이 있는지 기록하세요. 예를 들어 빨간 카펫의 통의 경우, 생성한 객체에 따라 다음과 같이 작성합니다: red_barrel_dark.name , red_barrel_light.name . 이 과정을 6개의 모든 통에 대해 수행하여 레벨을 완료하세요.

코드북