파이썬의 while 명령은 단순 반복을 수행한다.
while 조건식:실행문.... |
여기서 조건식이 참이면 실행문을 수행하고 다시 조건을 검사한다. 즉, 조건문이 거짓이 될 때까지 실행문을 반복 수행하는 것이다.
>>> m,p = 1,1>>> while m<=10:... p *= m... m += 1…>>> p3628800 |
이 예는 10! 을 구하는 프로그램이다. 10!=3628800 이라는 것을 알 수 있다.
for문과 마찬가지로 while 문도 else 절이 붙을 수 있다.
while 조건식:실행문들1else:실행문들2 |
조건식이 거짓으로 판정되어서 ‘실행문들1’이 수행되지 않을 때 else 절의 ‘실행문들2’가 수행된다. 만약 break 문에 의해서 반복이 끝난다면 (for반복문과 마찬가지로) else절은 수행되지 않고 그 바깥으로 빠져 나가게 된다.
n=3while n>=0:m = input("Enter a interger :")if int(m)==0: breakn -= 1else:print('4 inputs.') |
이 예제는 4개의 0이 아닌 정수를 입력 받으면 else 절이 수행된다.
.#실행 결과 1Enter a interger :1Enter a interger :2Enter a interger :3Enter a interger :44 inputs. |
만약 그 전에 0이 입력된다면 else 절이 수행되지 않고 while 반복문을 완전히 종료하게 된다.
# 실행 결과 2Enter a interger :0 |
for 반복문과 마찬가지로 break 문에 의한 반복 종료인지 아니면 조건문이 False 가 되어서 반복문을 종료하는 지를 구별하여 다른 실행문을 수행할 경우에 while ~ else 절을 사용하면 된다.
m=997n=2while n<m//2:if m%n==0: breakn += 1else:print(m,'is a prime number!') |
이 예는 997이 소수(prime number)인지 아닌지 판별하는 함수이다. 2부터 498까지 차례로 나누어서 나머지가 한번이라도 0이 된다면 break 문에 걸리게 된다. 만약 한 번도 0이 아니라서 반복문이 끝까지 돌았다면 else 절이 수행되어 소수임을 표시한다.(음영진 부분은 seq 형이다.)
'프로그래밍언어.Lib > 파이썬' 카테고리의 다른 글
파이썬의 함수(function) 정의와 호출 (0) | 2015.05.27 |
---|---|
파이썬의 continue 명령 (0) | 2015.05.27 |
파이썬의 break 명령과 for ~ else 구문 (0) | 2015.05.26 |
파이썬의 for반복문과 range형 (1) | 2015.05.26 |
파이썬의 if ~ elif ~ else 구문 (0) | 2015.05.26 |