IT

[파이썬 기초] while 반복문

생각파워 2019. 1. 4. 15:37

while은 특정한 구역(들여쓰기가 되어 있는)을 반복할 수 있는 명령어다.

우리는 프로그램에서 반복문을 사용함으로써 코드를 간결하고 명확하게 작성할 수 있다.

 

구구단을 출력하는 프로그램을 만들어보자.

9단까지 하면 힘들 수 있으니, 2단만 만들어보자.

반복문이 없을때 어떤식으로 구현할 수 있을까??

 

print('2*1=',2)
print('2*2=',4)
print('2*3=',6)
print('2*4=',8)
print('2*5=',10)
print('2*6=',12)
print('2*7=',14)
print('2*8=',16)
print('2*9=',18)
2*1= 2
2*2= 4
2*3= 6
2*4= 8
2*5= 10
2*6= 12
2*7= 14
2*8= 16
2*9= 18


이렇게 한줄 출력할 때마다 한줄을 코딩해야 한다.

프로그램이 의미가 있나?

그냥 쭉 써내려가는게 낫지.

 

반복문을 이용하면 코딩라인을 획기적으로 줄일 수 있다.

 

 

위 코드는 다음가 같이 동작한다.

 

1번라인 : 변수 n에 초기값 1을 할당한다.

2번라인은 두가지 일을 한다.

1)  n이 9보다 작거나 같은지 검사한다.

       2) n <= 9라는 조건이 맞으면 3~5번라인을 반복 수행한다.

3) 조건이 틀리면 블록을 빠져나와서 프로그램을 종료한다.

3번라인 : sum 값은 구구단 2단에서 결과값을 저장한다. n이 1부터 9로 바뀔때마다 2를 곱하니까, 2*1, 2*2, 2*3.... 2*8, 2*9의 값이 순차적으로 들어가게 될것이다.

4번라인은 2단을 한줄씩 출력한다.

5번라인은 n을 1씩 증가시켜서 n을 1~10까지 변경시킨다. n이 10이 되면 while문을 빠져나와 프로그램이 종료된다.

 

위 프로그램을 실행하면 아래와 같은 결과가 나타난다.

 

 

9줄의 결과를 나타내는 프로그램에서 이렇게 큰 차이가 나는데, 더 큰 프로그램에서의 차이야 더 말할 필요 없을것이다.

다음시간에는 반복문중에 더 세밀한 제어가 가능한 for문에 대해 알아보도록 하겠다.

 

 

 

 

반응형