반복문 for과 while은 비슷하면서도 살짝 달라요. 우선 이거 하나만 기억하셔도 됩니다. 둘 다 똑같이 반복된 일들을 수행합니다. 다만, for은 어떤 범위를 정해주고 해당 범위까지 반복된 일을 하라고 명령할 때 사용하는 반복문이고, while은 어떤 조건을 주고 해당 조건이 성립할 때 까지만 반복하라고 명령할 때 사용합니다. 어렵나요? ‘for은 범위’, ‘while은 조건문’ 이 키워드만 우선 그럼 기억하세요. 코딩하다 중도에 포기하시는 분들의 경우 이런 조건문과 반복문에서 흥미를 잃게 되는 경우가 많은 것 같은데 어려운 건 누구나 마찬가지죠.
for 반복문
for은 범위를 지정해주고 반복시킨다고 했죠? 범위를 지정해주는 방법과 방식이 다양한데 그걸 암기할 필요도, 이해할 필요도 없습니다. 공부할 때마다 타이핑 치다보면 자연스럽게 익힐 수 있어요. 우선 1~9까지 한 번 For 반복문을 사용해서 표현해볼까요?
for i in range(1, 10):
print(i)
#range(x, y)의 의미는 x부터 y-1까지 범위를 나타냄.
#따라서 1~9까지 표현하기 위해서는 range(1, 10)이 됨.
for [변수] in [문자열, 리스트, 튜플]:
[수행부분]
range(2, 8)의 의미는 ‘2이상 8미만’이라는 의미입니다. 2를 포함하고 8의 앞에 수 까지를 뜻하죠. 쉽게 표현하면 range(X, Y)의 의미는 ‘X부터 Y-1’의 범위라는 뜻, 그래서 for문과 같이 쓰여서 해당 범위까지 print(i)를 계속 수행하라 이런 뜻입니다. i도 어려울 것 없어요. 범위의 객체들을 하나씩 뽑아서 담는 변수(기억장소)입니다. 당연히 i말고 다른 이름을 붙여도 됩니다.
While 반복문
for문 보다 조금 더 어려운 while 반복문을 볼까요? for문은 범위였고 while은? 바로 조건문이 온다고 했죠. 해당 조건이 충족이 되면 계속 반복했다가 충족이 안 되는 순간에 ‘툭’하고 반복(루프)에서 탈출하는 구조입니다. 그러면 while – 조건을 활용해서 1~9까지 출력해볼까요?
i = 0
while i < 10:
i += 1
print(i)
#1~9까지 정수만 순차적으로 출력
#i를 정의해 줄 필요가 있음, i = 0
#+=의 의미는 좌변의 변수에 우변의 값을 더해 대입
while [조건문]:
[수행부분]
For과 While로 구구단을 한 번 만들어봤어요. 아래 이미지를 보고 이해가 된다면, 완벽하게 For문과 While문을 이해하신 거예요.