[부스트코스 코칭스터디] 모두를 위한 파이썬 PY4E - 반복문

mauz·2022년 10월 2일
0
post-thumbnail

2022.7.14 ~ 8.25 6주간 진행한 [부스트코스 모두를 위한 파이썬 코칭스터디 : 2022] 에서 리드부스터로서 활동하였습니다.

본 포스팅은 부스트코스 - 모두를 위한 파이썬 강의에 기초하고 있습니다.


반복문이 필요한 이유?

만약 '안녕하세요'를 3번 출력하는 코드를 짠다고 했을때,
단순히 print()문을 3번 작성해주면 될 것 입니다.

print('안녕하세요')
print('안녕하세요')
print('안녕하세요')

그런데 이를 100번, 1000번 해야한다고 할때,
다시말해서 똑같은 작업을 무수히 많이 해야할때 이는 너무나도 비효율적일 것입니다.

while문

영어에서 while은 ~하는 동안 라는 뜻을 가지고 있습니다.
파이썬에서 같은 의미로 쓰입니다.

예제1

while True:
	print('안녕하세요')
출력

안녕하세요
안녕하세요
안녕하세요
안녕하세요
안녕하세요
...

만약 위 코드를 실행해봤다가 안녕하세요가 화면 가득차올랐다면
당황하지말고 Cntl + c 를 눌러서 프로그램을 종료해주세요

while 문은 다음과 같은 구조를 가지고있습니다.

while `조건식`:
    `실행할 코드 1`
    `실행할 코드 2`
	`실행할 코드 3`

눈썰미가 좋으신 분이라면 if문과 구조가 동일함을 눈치 채실겁니다.

if문과 같이 while다음 조건식이 참값일때, 실행할 코드가 실행됩니다.
여기 까지는 if문과 같지만, while문은실행할 코드 3까지 실행이 끝나면

다시 위의 while로 돌아와 다시 조건식의 값이 참인지 거짓인지 판별하고,
참이라면 다시 실행하고, 거짓이라면 아래의 코드들을 실행하지 않고 넘어갑니다.

그래서 아까 '안녕하세요'처럼 조건식에 True를 넣으면 영원히 코드가 실행되는 프로그램을 만들 수 있습니다.

그런데 우리는 프로그램을 만들면서 영원히 실행되는 프로그램을 만들고싶지는 않을겁니다.
정해놓은 만큼만 반복하고, 종료되는 프로그램이 실용적인 프로그램일테니깐요.

그런 프로그램을 만들려면 어떻게 해야할까요?

예제2

while문 이용해 '안녕하세요'를 3번 출력하는 프로그램을 만들어보겠습니다.

count = 0
while count < 3:
	print('안녕하세요')
    count = count + 1
출력

안녕하세요
안녕하세요
안녕하세요

count 변수는 while문이 몇번 반복되었는지 세기 위해 만든 변수입니다.

while문을 시작하면

  1. count == 0 이므로 3보다 작으니 입니다. 코드를 실행합니다.
    1.1 count = count + 1 는 현재 count 변수에 1을 더합니다. count 는 1이 됩니다.
  2. count == 1 이므로 3보다 작으니 입니다. 코드를 실행합니다.
    2.1 count = count + 1 는 현재 count 변수에 1을 더합니다. count 는 2이 됩니다.
  3. count == 2 이므로 3보다 작으니 입니다. 코드를 실행합니다.
    3.1 count = count + 1 는 현재 count 변수에 1을 더합니다. count 는 3이 됩니다.
  4. count == 3 이므로 3보다 작지 않으니 거짓입니다. 코드를 실행하지 않습니다.

위와 같은 흐름에 따라서 정해진 만큼 코드를 반복하는 프로그램을 만들 수 있습니다.

하지만 다음의 반복문을 이용하면 더 간결하게 코드를 짤 수 있습니다.

for 문

예제3

for i in range(3):
	print('안녕하세요')
출력

안녕하세요
안녕하세요
안녕하세요

위 코드는 예제 2의 코드와 같은 결과를 출력합니다.

for문의 구조는 아래와 같습니다.

for `변수` in `범위`:
	`실행할 코드`

for문이 실행되면

  1. 범위에서 첫번째 값을 변수에 넣고 실행할 코드를 실행합니다.
  2. 범위에서 두번째 값을 변수에 넣고 실행할 코드를 실행합니다.
    ...

이때 range(3)은 0부터 3 전까지 의 범위를 갖는다는 의미입니다.

따라서 다음과 같이 코드를 짜보면

for i in range(3):
	print(i)
출력

0
1
2

위과 같이 출력 됌을 알 수 있습니다.

정리

정리해보자면

while문 은 정해진 범위없이 반복을 할 때,
for문 은 정해진 범위를 가지고 반복을 할 때 유용한 것을 알 수 있어요.

profile
쥐구멍에 볕드는 날

0개의 댓글