본문 바로가기
Learning/Python

파이썬 강좌_#12_while문

by HappyStar 2020. 5. 26.
반응형

오늘은 while문에 대해서 배워보도록 하겠습니다. 아래는 while문의 기본구조입니다.

a = 10
b = 20

while a>b:
	a+=1
    print(a)
print("while문이 종료되었습니다.")

 

while문은 조건에 따라 반복하는 횟수가 결정됩니다. 위의 코드는 a가 b보다 크기 때문에 while문이 작동이 됩니다. while문의 코드 안에는 a에 1을 더해주는 코드가 있는데 while문이 10번 반복되면 a가 b랑 같기 때문에 더 이상 while문이 작동하지 않고 "while문이 종료되었습니다"라는 코드가 출력됩니다.

 

while문의 조건과 반복

while문은 if문처럼 조건을 넣어 반복시킬 수 있습니다. if문의 여러 가지 조건을 while문안에 넣어보도록 하겠습니다.

a = True
b = "Hello"

while a:
	print("계속 반복합니다!")
while b:
	print("계속 반복합니다!2")
while True:
	print("계속 반복합니다!3")

 

위의 예제 코드는 종료 조건이 없이 무한 반복을 합니다. 그래서 첫 번째 while문만 실행이 됩니다. while문은 True가 될때는 무한반복을 하는데 첫번째 while문과 두 번째 while문은 True이지만 b는 문자인데 어떻게 무한반복이 가능할까요?

그 이유는 문자열이 존재하는 자체가 True이기 때문입니다. 만약 변수의 값이 "0" 이거나 ""공백이면 False가 되어 while문이 실행되지 않습니다.

 

while문 종료 조건 만들기 & 강제 종료 코드

위의 2번째 예제 코드는 종료 조건이 없어서 while문이 멈추지 않고 계속 반복합니다. 그러면 while문을 멈추고 싶으면 어떻게 해야 할까요? 아래의 코드 예제를 봐주세요.

a = 10
b = 20

while True:
    print("반복")
    break
while a<b:
    a+=1
    print(a)
print("while문을 종료합니다!")
    

 

위의 코드에서 첫 번째 while문은 한 번만 출력이 되고 끝납니다. 왜냐하면 break라는 예약어를 사용했기 때문입니다.

break는 조건문이나 반복문을 탈출할 때 쓰는 예약어입니다. 두 번째 while문은 b가 1번 반복할 때 1씩 커지기 때문에 나중에 조건이 만족하지 않을 때 자연적으로 종료됩니다. 또 다른 종료 코드도 있습니다.

a = 1
b = 20

while True:
    a+=1
    print(a)
    if a == b:
        print("while문을 종료합니다.")
        break

 

위의 예제는 무한반복을 하지만 while문 내부에 조건문을 사용하여서 강제 종료를 할 수 있게 하는 코드입니다.

a = 0
while a < 10:
	a+=1
	if a * 3 == 6: continue
	print(a)

 

위의 코드는 continue라는 예약어가 있습니다. continue는 while문의 처음으로 돌아가는 역할을 하는 예약어입니다.

모든 예제 코드는 복사해서 출력을 확인하시지 마시고 직접 코딩을 해야지 몸에 익혀집니다! 오늘 강의 여기서 끝!!!

잘 봤으면 공감 한 번씩 눌러 주세요!^^

반응형

'Learning > Python' 카테고리의 다른 글

파이썬 강좌_#14_클래스  (11) 2020.06.14
파이썬 강좌_#13_함수  (14) 2020.05.26
파이썬 강좌_#11_for문  (18) 2020.05.13
파이썬 강좌_#10_if문  (3) 2020.05.13
파이썬 강좌_#9_딕셔너리  (2) 2020.05.12

댓글