Coding/초보자를 위한 파이썬 300제

초보자를 위한 파이썬 300제 // 140 for문

포스트it 2021. 1. 21. 18:12
728x90
반응형

 

문제

다음 코드를 for문으로 작성하라.

print("-------")
print("-------")
print("-------")
print("-------")

내풀이

i = "-------"
a = 0
for a in [1,2,3,4]:
    print("-------")
    if a == 4:
        break
        
결과값
-------
-------
-------
-------

정답

네 번 반복 출력하는 코드를 작성하는 문제입니다.
- 변하는 값 : 없음
- 변하지 않는 코드 : print("-------")
지금까지 정리한 내용을 코드로 작성하면 아래와 같습니다. "????" 부분을 어떻게 채워야 할까요?

for 변수 in ?????: print("-------")

for 변수 in ?????:
  print("-------")

파이썬 문법에서 강조했던 내용을 떠올려 봅시다.

파이썬 for문은 들여쓰기된 코드가 자료구조의 데이터 개수만큼 반복된다는 사실이 중요합니다.

문제에서 원하는 것은 들여쓰기된 코드가 4번 실행되는 것입니다. 그렇다면 for문의 자료구조자리에 데이터가 4개저장된 리스트가 들어가면 어떻게 될까요?

for 변수 in ["가", "나", "다", "라"]: print("-------")

for 변수 in ["가", "나", "다", "라"]:
  print("-------")

변수에 값이 바인딩되지만 사용되지 않을뿐 실행해보면 들여쓰기된 코드가 4번 실행됩니다. 위 예제에서는 자료구조에 "가나다라" 문자열 값을 넣었지만 아래와 같이 1,2,3,4 숫자 값을 넣어도 동일한 동작을 합니다. 자료구조에 네 개의 데이터가 들어있으면 됩니다.

for 변수 in [1, 2, 3, 4]: print("-------")

for 변수 in [1, 2, 3, 4]:
  print("-------")

if 문으로 굳이 안해도 횟수 다 돌면 멈추는 거였는데 너무 어렵게 생각했다.
하지만 if문을 저렇게 쓰면 내가 원하는 지점에서 멈추게 할 수 있다.

 

728x90
반응형