보내주신 코드 조각은 0~3 범위의 값을 기반으로 "total" 변수의 값을 계산합니다. 코드는 다음과 같습니다. total = 0 for i in range(0, 3): if i % 2 == 0: total = total + 1 else: total = total + 2 print(total) 이 코드는 변수 "total"에 값 0을 할당하는 것으로 시작합니다. 그런 다음 값 0, 1, 2를 반복하는 for 루프를 시작합니다(range 함수는 상한을 제외합니다). 루프 내부에서 코드는 모듈로 연산자(%)를 사용하여 "i"의 현재 값이 짝수인지 홀수인지 확인합니다. "i"가 짝수이면 코드는 "total" 값에 1을 더합니다. "i"가 홀수이면 코드는 "total" 값에 2를 더합니다. "i"가 3에 도달하면 루프가 종료되고 코드는 "total"의 최종 값을 화면에 출력합니다. "total"의 값이 다음과 같이 변경되므로 코드는 화면에 2를 출력합니다. * i = 0일 때, total = 0 + 1 = 1 * i = 1일 때, 총합 = 1 + 2 = 3 * i = 2일 때, 총합 = 3 + 1 = 4 * i = 3일 때 루프가 종료되고 total = 4가 출력됩니다. 따라서 정답은 B입니다. 코드는 2를 출력합니다. 참고: [Python Institute - 초급 Python 프로그래머 자격증]
PCEP-30-02 문제 2
다음 코드의 예상 결과는 무엇입니까?
정답: D
설명 보내주신 코드 조각은 리스트 컴프리헨션을 사용하여 기존 목록에서 새 목록을 생성하려고 합니다. 코드는 다음과 같습니다. my_list = [1, 2, 3, 4, 5] new_list = [x > 5이면 my_list에 있는 x에 대한 x] 이 코드는 숫자 1, 2, 3, 4, 5를 포함하는 "my_list"라는 리스트를 생성하는 것으로 시작합니다. 그런 다음 리스트 컴프리헨션을 사용하여 "new_list"라는 새 리스트를 생성하려고 합니다. 리스트 컴프리헨션은 기존 리스트의 각 요소에 표현식이나 조건을 적용하여 새 리스트를 생성하는 간결한 방법입니다. 리스트 컴프리헨션의 구문은 다음과 같습니다. new_list = [조건에 맞는 old_list의 요소에 대한 표현식] 표현식은 새 목록에 추가될 값으로, 요소와 동일하거나 수정된 버전일 수 있습니다. 요소는 이전 목록에서 각 값을 가져오는 변수입니다. 조건은 새 목록에 포함될 요소를 결정하는 선택적 필터입니다. 예를 들어, 다음 목록 조건식은 이전 목록에서 짝수의 제곱을 포함하는 새 목록을 만듭니다. old_list = [1, 2, 3, 4, 5, 6] new_list = [x ** 2 for x in old_list if x % 2 == 0] new_list = [4, 16, 36]보내주신 코드는 5보다 큰 기존 리스트의 요소를 포함하는 새 리스트를 만들려고 합니다. 하지만 이 코드에는 문제가 있습니다. 문제는 기존 리스트의 요소가 5보다 크지 않기 때문에 조건이 항상 거짓이라는 것입니다. 즉, 새 리스트는 비어 있게 되고 표현식은 평가되지 않습니다. 하지만 표현식은 변수 x를 정의하지 않고 사용하기 때문에 유효하지 않습니다. 이로 인해 NameError 예외가 발생하는데, 이는 현재 범위에서 변수 이름을 찾을 수 없을 때 발생하는 오류입니다. 코드는 예외를 처리하지 않으므로 오류 메시지와 함께 종료됩니다. 이 코드의 예상 결과는 처리되지 않은 예외입니다. 코드가 실행되지 않는 식에서 정의되지 않은 변수를 사용하려고 하기 때문입니다. 따라서 정답은 D입니다. 이 코드는 처리되지 않은 예외를 발생시킵니다.
PCEP-30-02 문제 3
다음 문장 중 어느 것이 사실입니까? (답변 두 개를 선택하세요.)
정답: B,C
PCEP-30-02 문제 4
다음 코드의 예상 출력은 무엇입니까?
정답: C
설명 보내주신 코드 조각은 변수 "counter"가 0보다 작은지, 42보다 크거나 같은지, 또는 둘 다 아닌지 확인하는 조건문입니다. 코드는 다음과 같습니다. counter < 0: print("") elif counter >= 42: print("") else: print("") 이 코드는 "counter"의 값이 0보다 작은지 확인하는 것으로 시작합니다. 0보다 작으면 화면에 별표() 하나를 출력하고 명령문을 종료합니다. 42보다 크거나 같으면 "counter"의 값이 42보다 크거나 같은지 확인합니다. 42보다 크거나 같으면 화면에 별표() 세 개를 출력하고 명령문을 종료합니다. 42보다 크거나 같으면 화면에 별표() 두 개를 출력하고 명령문을 종료합니다. 코드의 예상 출력은 "counter" 값에 따라 달라집니다. 그림과 같이 "counter" 값이 10이면, 코드는 화면에 별표 두 개(**)를 출력합니다. 10은 0보다 작지도 않고 42보다 크거나 같지도 않기 때문입니다. 따라서 정답은 C입니다. **