파이썬 python

파이썬 반복문 - python for 문이란?, while이란?

studying develop 2021. 8. 14. 04:36

컴퓨터에서 우리가 개발하는 여러 이유중 하나는 반복 작업을 컴퓨터가 대신 해주기 위해서 입니다.

바로 그 반복 작업을 시키기 위한 가장 첫 스텝은 for를 사용하는 것 입니다.

 

이제 설명할 for는 for문이라 부르는 것으로

for i in [1,2,3]:
	print(i)
    
#1
#2
#3

위와 같은 형태를 갖습니다.

 

[1,2,3]에 있는 각 원소 1,2,3을 순서대로 i에 한번씩 넣고

해당 순차의 i의 값을 이용해 들여쓰기된 코드를 실행하는 것입니다.

즉 여기서는 i를 출력합니다.

 

다른 예시는 

for i in ["개","고양이","소"]:
	print(i)
    
#개
#고양이
#소

하지만 우리가 1일 부터 31일까지 순차적으로 출력이 필요한 상황이 있을 수 있습니다.

그럴때 1,2,3,4...31을 []안에 일일이 넣으려면 정말 힘들 것입니다.

만약 20000까지 출력하라면 불가능에 가깝죠

 

그래서 range(a,b)를 이용하면 됩니다.

 

range(a,b) 함수는 a를 포함하여 b미만까지의 리스트를 만듭니다. 

# range(1,32) == [1,2,3,4,...31]
for i in range(1,32):
	print(i)
    
#1
#2
#3
.
.
.
#31이 출력되겠죠?

for 문은 리스트의 값들을 순차적으로 변수에 넣어 사용한다는 특징이 있습니다.

이제 while문을 봅시다.


while (조건문):
	실행되는 문장1
        실행되는 문장2
        실행되는 문장3
        ...
        
###
num = 0
while num < 5:
	print(num)
        num += 1

#아래가 출력될 것입니다.
#0
#1
#2
#3
#4

즉 기본 구성은 (조건문) 부분이 참이면, 즉 true의 값이면 계속해서 들여쓰기 부분의 '실행되는 문장'들을 계속해서 실행합니다.

 

즉 조건부가 거짓일때까지 계속해서 구문을 실행하는 것입니다.

 

  1. 순서대로 분석 해보면 그렇기에 num이 처음에는 0이므로 num <5가 참입니다. 그러므로 num 즉 0이 한번 출력되고, num에 값이 1이 더해집니다.
  2. 이제 다시 num <5인지 확인해 봅니다. num이 1이므로 num < 5를 만족합니다. 그러므로 아까 실행된 코드인 num을(1) 출력하고, num에 다시 1을 더합니다.
  3. 계속 반복 num이 4가 출력되고, num에 1이 더해짐.
  4. num이 이제 5가 되었습니다. 하지만 num < 5가 거짓이므로 실행이 되지 않고 while문 이후의 코드가 실행됩니다.