더북(TheBook)

45를 입력하면 당연히 홀수번호 차량이 통행 가능하다는 메시지가 출력되죠. 하지만 1년 중 45일이 있는 달은 없습니다. 날짜에서 가장 큰 숫자는 31입니다. 따라서 31을 초과한 숫자를 입력하면 입력이 잘못 됐음을 안내해야 합니다. 31을 초과한 숫자가 입력되면 ‘올바른 날짜를 입력하세요.’라고 출력해 봅시다.

졔졔쌤의 조언

조건과 각 조건의 범위가 어떻게 되는지 생각해 보세요. 먼저 스스로 작성해 본 후 책의 코드를 확인하기 바랍니다.

print('미세먼지 저감 조치에 따른 차량 2부제를 시행합니다!')

date = int(input('오늘은 며칠입니까? '))
if date > 31:
    print('올바른 날짜를 입력하세요.')
elif date % 2 == 1:
    print('홀수번호 차량만 통행 가능합니다.')
    print('짝수번호 차주는 오늘 대중교통을 이용하세요.')
else:
    print('짝수번호 차량만 통행 가능합니다.')
    print('홀수번호 차주는 오늘 대중교통을 이용하세요.')

홀수와 짝수를 판단하기 전에 먼저 31을 초과한 숫자가 입력되면 올바른 날짜를 입력하라는 문구를 출력해야 합니다. 31을 초과하는지를 먼저 확인하는 이유는 입력값이 유효한지 검증하기 위해서입니다. 유효하지 않은 값이 입력되면 홀수와 짝수를 판단할 필요가 없습니다. 홀짝 판단을 먼저 한 후에 유효하지 않은 값임을 알게 됐을 때는 프로그램이 이미 상당 부분 진행된 상태입니다. 유효한 값만으로 홀짝을 판단하는 것이 순서에 맞고, 더 효율적입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.