학습 점검


1. 컴퓨터가 대량의 데이터를 빠르고 정확하게 자동 처리할 수 있게 해주는 핵심 제어 구조는?

① 순차 구조
② 선택 구조
③ 반복 구조 (Iteration / Loop)
④ 주석 구조


2. 파이썬에서 반복 횟수가 명확하게 정해져 있거나 시퀀스를 순회할 때 주로 사용하는 반복문은?

for
if
def
class


3. range(5)가 생성하는 정수 시퀀스로 옳은 것은?

① 0, 1, 2, 3, 4
② 1, 2, 3, 4, 5
③ 0, 1, 2, 3, 4, 5
④ 1, 2, 3, 4


4. range(1, 10, 2)가 생성하는 정수 시퀀스는?

① 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
② 1, 3, 5, 7, 9
③ 2, 4, 6, 8, 10
④ 1, 3, 5, 7, 9, 10


5. 조건이 참인 동안 계속 반복하며, 조건이 언제 끝날지 동적인 상황(예: 게임 루프, 센서 대기)에 적합한 반복문은?

for
while
switch
break


6. 아래 코드의 출력 결과로 옳은 것은?

total = 0
for i in range(1, 6):
    total += i
print(total)

① 10
② 15
③ 21
④ 0


7. 반복문 안에서 현재 실행 중인 반복문을 즉시 완전히 중단하고 탈출시키는 키워드는?

continue
break
pass
exit


8. 반복문 안에서 아래쪽 코드를 생략하고 곧바로 다음 회차 반복으로 건너뛰게 만드는 키워드는?

break
continue
skip
return


9. 아래 코드의 출력 결과는?

for i in range(1, 6):
    if i == 3:
        continue
    print(i, end=" ")

① 1 2 3 4 5
② 1 2 4 5
③ 1 2
④ 3 4 5


10. 아래 코드의 출력 결과는?

for i in range(1, 6):
    if i == 3:
        break
    print(i, end=" ")

① 1 2
② 1 2 3
③ 1 2 4 5
④ 3 4 5


11. while 문을 사용할 때 무한 루프(Infinite Loop)에 빠지지 않기 위해 반드시 포함해야 하는 것은?

① 반복 조건식의 결과를 거짓(False)으로 수렴시키는 상태 변수의 갱신 코드
for
import math
print() 함수


12. 2차원 데이터를 다루기 위해 반복문 안에 또 다른 반복문을 넣는 구조를 무엇이라 하는가?

① 중첩 반복문 (Nested Loops)
② 단일 루프
③ 순환 함수
④ 조건부 브레이크


13. 아래 코드에서 print("*", end="")가 총 실행되는 횟수는?

for i in range(3):
    for j in range(4):
        print("*", end="")

① 7회
② 12회
③ 3회
④ 4회


14. 문자열 text = "AI"에 대해 for ch in text:를 실행할 때 ch 변수가 차례로 갖는 값은?

'A', 'I'
'AI'
0, 1
None


15. 아래 while 루프가 종료된 후 count의 최종 값은?

count = 0
while count < 5:
    count += 2

① 4
② 5
③ 6
④ 7


16. 구구단 2단을 출력하기 위한 for 문과 range()의 조합으로 가장 적절한 것은?

for i in range(1, 10): print(f"2 x {i} = {2 * i}")
for i in range(2, 9): print(f"2 x {i} = {2 * i}")
for i in range(1, 9): print(f"2 x {i} = {2 * i}")
for i in range(0, 10): print(f"2 x {i} = {2 * i}")


17. 파이썬의 for 문과 함께 사용할 수 있는 for-else 구문에서 else 블록이 실행되는 조건은?

① 루프가 break를 만나지 않고 정상적으로 끝까지 완료되었을 때
② 루프가 break에 의해 강제 종료되었을 때
③ 루프가 한 번도 실행되지 않았을 때
④ 루프 조건이 에러를 일으켰을 때


18. 아래 코드의 출력 결과는?

names = ["철수", "영희", "민수"]
for i, name in enumerate(names):
    if i == 1:
        print(name)

① 철수
② 영희
③ 민수
④ 1


19. range(10, 0, -1)가 생성하는 수열의 첫 번째와 마지막 숫자는?

① 10과 1
② 10과 0
③ 9와 0
④ 10과 -1


20. 대규모 시뮬레이션 프로그램에서 특정 조건이 충족될 때까지 무한히 기다리는 코드를 작성할 때 가장 알맞은 구조는?

while True: 블록 내부에서 조건 검사 후 break
for i in range(1):
if True:
pass 문 단독 사용