저번에는 기본적인 제어문인 IF문에 대해서 알아 보았습니다. IF문은 A하면 B한다라는 언어인 반면, 반복문은 A라는 조건을 만족하면, B를 계속 실행한다. 입니다. 반복문에는 큰 틀에서 While문과 For문 두 가지가 있습니다. 두 구문의 차이를 구별하면 For문은 반복 횟수를 정확히 알 경우에 사용하고, While문은 반복 횟수를 정확히 모를 때 사용합니다.

 그리고 사실 While문은 반보문으로, 여러구문을 처리해주는 역할을 담당하긴 하지만, 이 구문 자체만으로는 그다지 큰 쓸모가 없습니다. 나중에 학습할 For문이 개인적으로 더 간략하고, 사용하기 쉽기 때문이죠. 그 보다는 Break, Continue문과 함꼐 쓰입니다.

 

말로 하는 것 보다는 실제 코드를 보면서 하는 편이 나을 것 같습니다. 먼저 가장 간단한 While문의 구조부터 보겠습니다.

 

1. While
import numpy as np
:
A = 0
i = 0

 

while A < 10:
    A = A+1
    print("%d" %A)
A

 

1 2 3 4 5 6 7 8 9 10

while 조건:

코드

기본적인 구조는 매우 간단합니다. 정수 A 0이 10이 될 때까지 하나 씩 더해가면서, 형식 지정자를 정수(%d)로 해서 출력하면 위와 같은 결과가 나옵니다.

2. While + Break

Break문은 반복문에서만 사용 할 수 있는 구문으로, 반복문을 중단하고 프로그램의 프로세스를 일종의 Main 구문으로 빠져나가게 하는 구문입니다. 프로그램이 짧은 경우에는 상관이 별로 없지만, 프로그램이 길어지는 경우에, 특정 경우 특정 반복문을 실행하고, 아닌 경우 빠져나와야 할 경우에 자주 사용 됩니다. 다음의 예시를 살펴 보겠습니다.

while A<10: in_text = input("-m: 숫자세기, -q:종료") if in_text == "-q": break elif in_text =="-m": A = A+1 A

 

 

-m: 숫자세기 -q:종료 m

-m: 숫자세기 -q:종료 q

이 코드를 한 번에 이해하셨다면 이 포스팅을 보실 이유도 별로 없으시겠지만, 일단 line by line으로 좀 해석을 하면, 아직 설명하지 않았지만 input이라는 변수에 사용자가 문자나 숫자를 입력을 할 수 있습니다. 그래서 이것을 in_text라는 변수에 집어 넣었는데, 이것이 만약에 -q이면 break 구문을 써서 반복문을 빠져나가서 A를 출력합니다. 그러면 A에 아무것도 들어 있지 않으므로 당연히 아무것도 출력되지 않을 것입니다. 반면에 -m을 집어 넣으면 A에 +1 을 하도록 설정합니다.

 

Code가 조금 복잡해지긴 했지만, 맨 처음의 코드보다 훨씬 쓸모가 많을 것 같습니다. 처음의 코드도 응용 여부에 따라 쓸모는 많겠죠. 제가 못 찾은 것일 지도-_-

 

 

3. Continue

 

]:
while A < 10:
    A += 1
    if A == 5:
        continue
    print(A)
1
2
3
4
6
7
8
9
10

 

Continue문은 특정 값일 때 제어를 반복문의 바깥으로 돌려주지 않고 반복문의 맨 처음으로 옮겨 줍니다. 나중에 for문에서도 같이 알아 볼 테니 간단하게만 코딩하고 가도록 하겠습니다. 지금까지 코딩하면서 사실 많이 사용하진 않았으니까요. 머리가 나쁘면 몸이 고생한다고 그냥 노가다(?)로 해결이 가능한 부분인 것 같기도 합니다. -_-

 

 

 

 

'머신러닝 > 기초 문법' 카테고리의 다른 글

9. 함수  (0) 2019.02.12
8. FOR문  (0) 2019.02.11
6. IF 문  (0) 2019.02.09
주피터 노트북 블로그에 맞기 정렬하기  (0) 2019.02.08
넘파이 기초 - 배열 생성(1)  (0) 2019.01.31

+ Recent posts