컴퓨터에게 왜 일을 시킬까요? 연산 속도가 빠르고 정확하고 반복적인 일을 힘들어 하지 않고 할 수 있기 때문입니다. 오늘 포스팅은 컴퓨터가 하는 일 중 반복적인 일을 하게 하는 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까지 알아보았습니다.
'Python' 카테고리의 다른 글
[수학과 함께 Python!] 랜덤으로 수를 생성하라! 난수 생성 (0) | 2022.01.06 |
---|---|
[Python error] name 'time' is not defined (1) | 2021.12.13 |
[Python start] 1-3. if, else, elif 조건문 사용하기 (0) | 2021.12.06 |
[Python error] SyntaxError: EOL while scanning string literal (1) | 2021.11.30 |
[data] pandas, DataFrame의 기초(1) - 구조 (0) | 2021.11.30 |