Re: 14.7 심사문제
, 도장_ 관리자님이 작성1번은 문제에 제시된 첫 번째 테스트 케이스
89 72 93 82
에 대해서 합격이 아니라
잘못된 점수를 출력합니다.
>>> R, E, M, S = map(int, input().split())
89 72 -93 82
입력을 받았고 -93이 있으니 잘못된 점수를 출력해야 하지만
>>> (R or E or M or S)
89
or는 논리 연산자인데 논리 연산할 게 없습니다. R 첫 번째 값 89만 출력하는 결과가 됩니다. 뒤는 무슨 숫자가 와도 상관 없습니다.
>>> 10 or 20
10
10 or 20을 해도 첫 번째 10 출력
>>> 100 or 20
100
>>> (R or E or M or S) < 0
False
>>> (R or E or M or S) > 100
False
두 개의 조건부를 넣어도 False
>>> (R or E or M or S) < 0 or (R or E or M or S) > 100
False
>>>
False or False이니 결과도 False이고
이는 '잘못된 점수'는 출력할 일이 없다는 뜻입니다.
다음 테스트를 살펴보고
>>> R = 89
>>> R >= 0
True
>>> R <= 100
True
>>> R >= 0 and R <= 100
True
>>> 0 <= R <= 100
True
>>>
이 단계부터 조건식을 올바르게 작성해야 합니다.