2022.7.14 ~ 8.25 6주간 진행한 [부스트코스 모두를 위한 파이썬 코칭스터디 : 2022] 에서 리드부스터로서 활동하였습니다.
본 포스팅은 부스트코스 - 모두를 위한 파이썬 강의에 기초하고 있습니다.
만약 '안녕하세요'를 3번 출력하는 코드를 짠다고 했을때,
단순히 print()문을 3번 작성해주면 될 것 입니다.
print('안녕하세요')
print('안녕하세요')
print('안녕하세요')
그런데 이를 100번, 1000번 해야한다고 할때,
다시말해서 똑같은 작업을 무수히 많이 해야할때 이는 너무나도 비효율적일 것입니다.
영어에서 while은 ~하는 동안 라는 뜻을 가지고 있습니다.
파이썬에서 같은 의미로 쓰입니다.
while True:
print('안녕하세요')
출력
안녕하세요
안녕하세요
안녕하세요
안녕하세요
안녕하세요
...
만약 위 코드를 실행해봤다가 안녕하세요
가 화면 가득차올랐다면
당황하지말고 Cntl + c 를 눌러서 프로그램을 종료해주세요
while 문은 다음과 같은 구조를 가지고있습니다.
while `조건식`:
`실행할 코드 1`
`실행할 코드 2`
`실행할 코드 3`
눈썰미가 좋으신 분이라면 if문과 구조가 동일함을 눈치 채실겁니다.
if문과 같이 while
다음 조건식이 참값일때, 실행할 코드
가 실행됩니다.
여기 까지는 if문과 같지만, while문은실행할 코드 3
까지 실행이 끝나면
다시 위의 while
로 돌아와 다시 조건식의 값이 참인지 거짓인지 판별하고,
참이라면 다시 실행하고, 거짓이라면 아래의 코드들을 실행하지 않고 넘어갑니다.
그래서 아까 '안녕하세요'처럼 조건식에 True
를 넣으면 영원히 코드가 실행되는 프로그램을 만들 수 있습니다.
그런데 우리는 프로그램을 만들면서 영원히 실행되는 프로그램을 만들고싶지는 않을겁니다.
정해놓은 만큼만 반복하고, 종료되는 프로그램이 실용적인 프로그램일테니깐요.
그런 프로그램을 만들려면 어떻게 해야할까요?
while문 이용해 '안녕하세요'를 3번 출력하는 프로그램을 만들어보겠습니다.
count = 0
while count < 3:
print('안녕하세요')
count = count + 1
출력
안녕하세요
안녕하세요
안녕하세요
count 변수는 while문이 몇번 반복되었는지 세기 위해 만든 변수입니다.
while문을 시작하면
참
입니다. 코드를 실행합니다.참
입니다. 코드를 실행합니다.참
입니다. 코드를 실행합니다.거짓
입니다. 코드를 실행하지 않습니다.위와 같은 흐름에 따라서 정해진 만큼 코드를 반복하는 프로그램을 만들 수 있습니다.
하지만 다음의 반복문을 이용하면 더 간결하게 코드를 짤 수 있습니다.
for i in range(3):
print('안녕하세요')
출력
안녕하세요
안녕하세요
안녕하세요
위 코드는 예제 2의 코드와 같은 결과를 출력합니다.
for문의 구조는 아래와 같습니다.
for `변수` in `범위`:
`실행할 코드`
for문이 실행되면
범위
에서 첫번째 값을 변수
에 넣고 실행할 코드
를 실행합니다.범위
에서 두번째 값을 변수
에 넣고 실행할 코드
를 실행합니다.이때 range(3)
은 0부터 3 전까지 의 범위를 갖는다는 의미입니다.
따라서 다음과 같이 코드를 짜보면
for i in range(3):
print(i)
출력
0
1
2
위과 같이 출력 됌을 알 수 있습니다.
정리해보자면
while문
은 정해진 범위없이 반복을 할 때,
for문
은 정해진 범위를 가지고 반복을 할 때 유용한 것을 알 수 있어요.