실습: 조건문으로 분기하기
이번 실습에서는 if / else if / else 로 입력된 숫자를 세 가지 범주로 나누는 분류 함수를 만듭니다.
코드를 작성하기 전에 분기 흐름을 머릿속으로 그려보세요. 이 함수는 입력값을 세 갈래로 나눕니다. 핵심은 검사 순서 입니다. 가장 구체적인 조건(특정 값 0)을 먼저 검사하고, 그다음 범위 조건(100 이상)을, 마지막으로 나머지 전부를 처리하는 else 를 두면 의도대로 정확히 한 갈래만 실행됩니다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
// 패턴 예시: 등급을 세 갈래로 나누는 분기 구조
contract Pattern {
function level(uint256 x) public pure returns (string memory) {
if (x == 0) {
return "none";
} else if (x >= 100) {
return "high";
} else {
return "mid";
}
}
}해야 할 일:
NumberClassifier컨트랙트 안에classify함수를 구현하세요.classify는uint256 value를 입력받아string memory를 반환하는public pure함수입니다.- 분기 규칙:
value가0이면"zero"반환value가100이상이면"big"반환- 그 외에는
"small"반환
조건 검사 순서를 신경 쓰세요. 가장 구체적인 조건(0)부터 검사하면 의도대로 동작합니다. 모든 경우를
else 로 마무리하면 함수가 반드시 값을 반환합니다.