본문 바로가기

공부/python

(python) 반복3 - while문, 중첩 루프

while문은 조건을 정해놓고 조건을 만족하는 동안 반복을 하는 구조이다.

반복을 결정하는 조건이 참이면 반복하고, 그렇지 않으면 반복 루프를 빠져나오게 된다.

개인적으론 for문보다는 훨씬 간단한 반복문인것같다.

 

아래의 간단한 예제를 보자.

while문에 변수i의 값이 5가 넘어가면 루프가 끝나도록 조건을 걸고,

i값에 i에 1이 계속 더해지면서 문자열 환영합니다.가 반복 출력되고,

조건에서 벗어나 다음 명령인 반복이 종료되었습니다.를 출력시킨다.

 

예제를 하나더 보자.

주의 사항이 있다. 바로 print()함수의 위치이다.

아래의 코드를 보자.

print()함수가 while반복문 안에 있다. 이럴 경우 계산과정이 출력된다.

이런 방식은 나의 상황에 맞추어 알맞게 사용하면 될것이다.

 

보초값 사용하기

입력될 데이터의 정확한 개수가 미리 알려지지 않거나 데이터가 너무 많아서 개수를

알기가 어려운 경우 데이터의 끝에다 끝을 알리는 특수한 데이터를 놓는다.

데이터의 끝을 알리는데 사용되는 데이터 값을 보초값(sentinel value) 또는 센티널이라고 한다.

 

이렇게만 보면 뭔가 되게 거창한것 같지만, 실제론 간단하다. 아래의 예를 보자.

여기서 마지막 %f는 변수의 값을 실수형태로 출력시키는 명령어이다.

 

score변수에 0미만의 값은 불필요하다. 그래서 보초값을 음수로 해놓았다.

 

중첩 루프

반복문은 중첩하여 사용될 수 있다.

이러한 형태를 중첩 반복문이라고 하며, 외부에 위치하는 반복문을 외부 반복문,

내부에 위치하는 반복문을 내부 반복문이라고 한다.

내부 반복문은 외부 반복문이 한번 반복할 때마다 새로 시작한다.

 

아래의 예를 보자.

중첩 for문을 이용하여 *기호로 사각형 모양으로 출력시켰다.

 

또 다른 예를 보자.

2 * 1부터 9 * 9의 전체 구구단이 출력되었다.

'공부 > python' 카테고리의 다른 글

(python) 함수1  (0) 2019.10.20
(python) 반복4 - 관련예제들2  (0) 2019.10.20
(python) 반복2 - 관련예제들1  (0) 2019.10.20
(python) 반복1 - for문  (0) 2019.10.20
(python) 번외 - 연산자 모음, 이스케이프 문자  (0) 2019.10.19