조건에 따라 서로 다른 코드를 실행합니다.
if는 조건이 참일 때, elif는 앞 조건이 거짓이고 자신의 조건이 참일 때, else는 모든 앞 조건이 거짓일 때 실행됩니다. 위에서부터 처음 만족한 블록 하나만 선택됩니다.
score가 87이라 첫 조건 score >= 90은 거짓이고, 다음 elif의 score >= 80이 참이 되어 grade에 B가 들어갑니다. 그 아래 elif와 else는 검사하지 않고 if 문 전체를 빠져나와 등급: B가 출력됩니다. 네 갈래 모두 grade에 값을 넣기 때문에 어떤 점수가 들어와도 print에서 grade가 정의되지 않았다는 오류가 나지 않습니다.
범위 조건은 가장 구체적이거나 높은 기준부터 배치하면 이미 앞에서 잡힌 값 때문에 뒤 조건이 실행되지 않는 문제를 줄일 수 있습니다.
복잡한 조건은 의미 있는 불리언 변수나 함수로 분리하고 경계값 바로 아래, 같은 값, 바로 위를 테스트합니다.
score >= 60을 먼저 검사하면 90점도 그 블록에서 끝납니다. 조건 순서가 결과를 바꿉니다.
직접 바꿔보세요점수 59, 60, 89, 90에서 각각 어떤 등급인지 확인하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.