본문 바로가기

퀴즈

파이썬(Python) 퀴즈 - for 문

1. 다음 코드의 실행 결과는 무엇인가요?

my_list = [1, 2, 3, 4, 5]

for i in range(len(my_list)):
    my_list[i] += 1

print(my_list)

1. [2, 3, 4, 5, 6]
2. [1, 2, 3, 4, 5]
3. [1, 3, 5, 7, 9]
4. [2, 4, 6, 8, 10]

더보기

정답: 1. [2, 3, 4, 5, 6]

이유: for문은 range(len(my_list))에서 생성된 정수를 i에 할당하면서 반복을 수행합니다. 이 때 len(my_list)는 my_list의 길이(5)를 반환합니다. 따라서 range(len(my_list))는 range(5)와 같은 범위를 생성합니다. my_list[i] += 1은 my_list의 각 요소에 1을 더하는 연산입니다. 따라서 for문을 모두 수행한 후 my_list는 [2, 3, 4, 5, 6]의 값을 가지게 됩니다.


2. 다음 코드의 실행 결과는 무엇인가요?

my_list = [1, 2, 3, 4, 5]

for num in my_list:
    num += 1

print(my_list)

1. [2, 3, 4, 5, 6]
2. [1, 2, 3, 4, 5]
3. [1, 3, 5, 7, 9]
4. [2, 4, 6, 8, 10]

더보기

정답: 2. [1, 2, 3, 4, 5]

이유: for문에서 my_list의 각 요소를 num에 할당하고, num += 1 연산을 수행하였습니다. 그러나 이는 my_list의 요소값을 직접 수정하는 것이 아닌, num 변수의 값을 변경하는 것입니다. 따라서 for문을 모두 수행한 후에도 my_list의 값은 변경되지 않습니다.