Python

[Python start] while, break, 반복문

코딩도어 2021. 12. 9. 13:55

컴퓨터에게 왜 일을 시킬까요? 연산 속도가 빠르고 정확하고 반복적인 일을 힘들어 하지 않고 할 수 있기 때문입니다. 오늘 포스팅은 컴퓨터가 하는 일 중 반복적인 일을 하게 하는 while문에 대해 알아보겠습니다. 기본적인 구조부터 간단한 예시로 알아보는 시간을 가져보도록 하겠습니다. 

 

□ while 반복문

 

while 반복문의 예를 한번 들어보겠습니다. 다들 어렸을 때 학습지 해보셨죠? 구몬을 해보면 한가지 주제를 가지고 계속 반복 숙달하는 방식으로 학습을 진행합니다. 하지만 그 문제 하나하나를 풀다보면 지겹겠죠?

 그래서 이런 반복적인 일을 while 반복문을 이용하여 컴퓨터에게 시켜야겠습니다. 학습지? 이제 그냥 컴퓨터가 풀게 합시다.

□ while 반복문 구조

 

while 반복문은 조건문에 따라 구동문이 달라집니다.

기본적인 구조는,

while 조건문:
	구동문
    구동문 1
    구동문 2

이러한 구조를 가지고 있습니다.

조건문에서 True or False로 구동문을 돌릴지 판단합니다. True가 나왔다면 구동, False가 나왔다면 구동하지 않습니다.

 

□ 반복문의 예시

 

while 반복문의 예시로 같이 보겠습니다.

1부터 10까지 print 해보는 코딩을 짜보겠습니다.

print(1)
print(2)
print(3)
print(4)
print(5)
print(6)
print(7)
print(8)
print(9)
print(10)
1
2
3
4
5
6
7
8
9
10

자 1부터 10까지 print 되는 것을 볼 수 있습니다. 사실 모든 코딩은 결과가 같을 수 있지만 방식에 따라 그 간결함과 효율성이 다르답니다. 이 코딩을 while 반복문을 통하여 바꾸어 보도록 하겠습니다.

num = 0				## 변수num에 0 할당
while num<10:		## num이 10보다 작다면 num+1을 반복하여 데이터를 저장
    num = num+1
    print(num)		## 반복문이 시행될 때마다 결과값 출력
1
2
3
4
5
6
7
8
9
10

네 결과가 똑같이 나왔습니다. 이렇듯 while 반복문을 활용한다면 더욱 쉬운 코딩이 가능하겠습니다.

 

□ break

 

while 반복문을 사용하다 보면 빠져나와야할 경우가 상당히 많습니다. 그럴 때 break라는 기능을 사용하게 됩니다.

간단한 예시로 같이 보도록 하겠습니다.

 

□ break의 구조

 

while 조건문:
	구동문
    구동문1
    (break 조건문)
	break

기본 구조입니다. while 반복문에서 반복하다가 break 기능할 조건문이 나온다면 break가 기능합니다.

 

□ break의 예시

 

while 반복문에서 예시를 들었던 코딩으로 보여드리겠습니다.

num = 0				## 변수num에 0 할당
while num<10:		## num이 10보다 작다면 num+1을 반복하여 데이터를 저장
    num = num+1
    print(num)		## 반복문이 시행될 때마다 결과값 출력
        
    if num==7:		## 만약 7과 같은 수가 된다면
        break  		## break!

반복문을 반복하지만 조건이 붙었습니다. 7과 같은 수가 된다면 break하라

break는 전후 모든 상황을 무시한채 코드에서 빠져나오게 됩니다.

결과를 볼까요?

1
2
3
4
5
6
7

네 7까지만 출력되게 됩니다.

 

□ continue

 

while 반복문에서 특정 조건에 빠져나가는 기능이 break라고 배웠습니다. 그런데 만약 처음으로 돌아가고 싶다면? 어떤 조건에서 처음으로 돌아가 회춘함을 느끼고 싶다면?

바로 continue 구조로 보겠습니다.

 

□ continue의 구조

while 조건문:
	구동문
    구동문1
    (continue 조건문)
	continue

break에서 continue로 바뀌었네요. 더 볼 것 없이 예를 들어 보겠습니다.

num = 0				## 변수num에 0 할당
while num<10:		## num이 10보다 작다면 num+1을 반복하여 데이터를 저장
    num = num+1

    if num==7:		## 만약 7과 같은 수가 된다면
        continue 	## continue!
	
    print(num)		## 반복문이 시행될 때마다 결과값 출력

이번에는 7을 제외한 1부터 10까지의 수를 출력하겠습니다.

print의 위치를 제외하고는 num = num + 1까지는 같습니다. 하지만 여기서 continue를 통해 num이 7일 때 조건문 부분으로 다시 돌아오게됩니다.(num < 10:)

 

여기서 print의 위치는 제가 원하는 논리 구조상 뒤에 위치하여야 합니다. 파이썬은 순차적으로 구동하는 언어이기 때문입니다.

 

오늘은 여기까지 while 반복문과 break, continue까지 알아보았습니다.