본문 바로가기
파이썬/[누구나! 완전 기초 파이썬]

#7 while, for 반복문

by J-Build 2020. 9. 24.

이 포스팅에선 반목문에 대해서 알아보겠습니다. 파이썬(Python)에서 반복문은 while과 for를 사용해서 만들 수 있습니다.

 

While

먼저 while을 알아볼께요. while은 while 조건: 의 형태를 띄고 있습니다. 이는 앞서 배운 if와 비슷합니다. 다만 차이점은 if는 한번 검사하고 끝나지만 while은 조건이 참(True)라면 계속적으로 실행이 된다는 것이죠. 아래 코드로 확인해 볼께요.

a = 1

# if문은 한번만 조건은 검사합니다. 
if a == 1:
    print('a is 1')

# while문은 조건이 참(True)라면 계속 반복적으로 관련 코드 블럭을 실행합니다.
while a == 1:
    print('a is 1')

 

이번엔 while 구문이 일정 횟수만 동작하도록 해볼께요. while 문에 조건을 a가 5보다 작다고 설정하고 while 루프 안에서 a를 1씩 증가시켜주면 다섯번 반복 후 조건이 거짓이 되어(변수 a 가 5보다 크게 되어서) while 문을 빠져나가게 됩니다. 

a = 1

# while문은 조건이 참(True)라면 계속 반복적으로 관련 코드 블럭을 실행합니다.
while a <= 5:
    print('a is 1')
    a = a + 1

# 실행 결과
# a is 1
# a is 1
# a is 1
# a is 1
# a is 1

 

For

이번엔 for 구문을 알아볼께요. 

for 구문도 while 구문과 비슷하게 반복적으로 코드를 실행 시켜주는 역할을 합니다. for 구문은 아래와 같이 정의할 수 있습니다.  

for a in B:
    do_something(a)

 

위의 코드에서 B는 리스트(Lists)와 같이 여러개의 아이템을 담을 수 있는 데이터 타입이 됩니다. for a in B: 라고 하는 구문은 B에 들어있는 모든 아이템들을 처음부터 끝까지 순서대로 a에 넣고 관련 코드블럭을 반복하라는 의미입니다. 위의 코드를 실제 동작하는 코드롤 다시 써볼께요. 

my_list = [1, 2, 3]
for a in my_list:	# my_list의 아이템을 처음부터 순차적으로 가져와서 a에 할당시킵니다. 
    print(a)		# 그리고 a를 출력하는 함수를 호출합니다. 

# 결과적으로, my_list의 아이템들이 순차적으로 출력이 됩니다. 
# 1
# 2
# 3

 

break 

만약 반복문을 반복하는 중간에 반복문을 빠져나와야 한다면 어떻게 해야 할까요? 이런 경우에는 break라는 키워드를 사용할 수 있습니다. 반복문의 코드블럭에서 어떤 조건이 만족되었을때 break 키워드가 나오면 바로 루프를 빠져나오게 되죠. (for, while 반복문 에서 모두 사용할 수 있습니다)

my_list = [1, 2, 3, 4, 5, 6, 7]
for a in my_list:	# my_list의 아이템을 처음부터 순차적으로 가져와서 a에 할당시킵니다. 
    if a == 4:		# 순차적으로 루프가 반복되다가 a가 4가 되면
        break		# break 를 통해서 루프를 종료합니다. 
    else:		# a 가 4가 아니라면 
        print(a)	# a를 출력하는 함수를 호출합니다. 

print('for loop is done')	# 루프를 빠져나오면 루프가 끝났다는 메세지를 출력합니다. 

# 1
# 2
# 3
# for loop is done

 

continue

반복문에서 break와 상반되는 의미의 continue라는 키워드도 존재합니다. continue는 루프에서 continue 구문이 실행된다면 그 이후의 코드는 실행하지 않고 다음 루프를 순회하라는 키워드입니다. (for, while 반복문 에서 모두 사용할 수 있습니다)

my_list = [1, 2, 3, 4, 5]
for a in my_list:
    if a < 5:		# a 가 5보다 작다면
        continue	# 아래 코드를 실행하지 않고 다음 루프로 넘어갑니다. 
    print(a)		# 따라서, a가 5보다 작은 경우에 print() 함수는 호출되지 않게 되죠.

# 5

 

반복문의 중첩

반복은은 여러번 중첩되어 사용될 수 있습니다. 하지만 반복문이 너무 많이 중첩되면 코드를 이해하기 어려워지기 때문에 상황에 맞게 잘 사용해야 합니다. 아래는 for 반복문이 두번 중첩되어 사용된 경우입니다. 

my_list1 = [1, 2]
my_list2 = [3, 4]

for a in my_list1:
    for b in my_list2:	# 반복문 안에 새로운 for 반복문이 사용되었습니다. 
        print(a + b)

# 4
# 5
# 5
# 6

 

 

 

이번 강좌는 여기서 마치도록 하겠습니다. 

 

'파이썬 > [누구나! 완전 기초 파이썬]' 카테고리의 다른 글

#9 클래스(Class)  (0) 2020.10.05
#8 함수(Functions)  (0) 2020.09.26
#6 조건문 (if ~ else ~)  (0) 2020.09.23
#5 리스트(Lists)  (0) 2020.09.21
#4 문자열(Strings)  (0) 2020.09.19

댓글