그래서 유효성을 검증하는 date > 31을 첫 번째 조건으로 사용합니다. 첫 번째 조건을 충족한다면 올바른 입력이 아니란 의미죠. 역으로 첫 번째 조건을 충족하지 않는다면 올바른 입력이란 뜻입니다. 따라서 두 번째, 세 번째 조건에서 홀수와 짝수를 판단해 알맞은 안내문을 출력합니다. 이를 순서도로 표현하면 다음과 같습니다.
▲ 그림 4-7 차량 2부제 프로그램의 순서도
앞에서 배웠듯이 elif는 ‘date > 31을 충족하지 않는다’는 의미를 포함하므로 ‘31 이하의 숫자 중 홀수’를 의미합니다. else도 date > 31과 date % 2 == 1에 모두 해당하지 않는 경우이므로 ‘31 이하의 숫자 중 짝수’를 의미합니다. if를 활용해 입력값의 유효성을 검증하는 방법은 실제 프로그래밍에서도 매우 흔하게 사용합니다. 효율적인 프로그램을 만드는 데 도움이 되니 구조를 잘 익혀 두기 바랍니다.
조건문은 다양한 방법으로 만들 수 있습니다. 반드시 date > 31이 첫 번째 조건으로 오지 않더라도 조건을 잘 설계하기만 하면 같은 결과가 나오는 프로그램을 작성할 수 있습니다. 다음 절에서 좀 더 자세히 알아보겠습니다.