본문 바로가기
Python

(Python) While()을 이용한 반복문

by re-hwi 2022. 4. 26.

이제 입출력과 변수 선언에 대해 충분히 알았으니 이것을 이용한 다양한 프로그램을 만드는데 같은 코드를 계속 써야하는 번거로움이 있다. 
 
예를들면 1부터 100까지 더하는 프로그램을 만들고싶은데 그걸 하나하나 다 치기엔 코드도 더러워질 뿐더러 내가 너무 힘들다. 
 
그럴땐 반복문을 이용하여 쓰는 것이 좋다. 쉽게 말하자면 게임 매크로 같은 것이다. 매크로를 사용하는 사람들은 자고있으면서 계속 같은 행동을 반복하며 사냥을 하고 쉽게 레벨을 올린다.
 
이것은 컴퓨터에게 '언제까지 이 코드를 몇 번 반복해' 라고 말하고 그 '언제'와 '몇 번'을 내가 지정하는 것이다.
 
while 문을 사용하는 방법은 다음과 같다.

while count < 100:			# count = 횟수
	print("배고파")			# 반복하고자 하는 코드
	count = count + 1		# 여기까지 왔다면 코드를 한번 실행했다는 뜻이므로 횟수에 +1

이 코드는 print("배고파") 이라는 문장을 100번 반복하는 코드이다. 그러면 결과는 배고파배고파배고파..... 이 될것이다.
 
먼저 첫번째 줄의 while count < 100은 count변수 안의 수가 100보다 작다면 아래 문장을 실행하라는 뜻이다. 
 
이제 3번째 문장인 count = conut + 1에 대해 생각해보자
 
앞서 말했듯 변수는 수를 담는 양동이지 정확한 수가 아니라고 했다. 따라서 변수안에 들어있는 수는 계속 변해도 상관 없다는 뜻이다. 
 
예를 들어 count가 1이라면 컴퓨터는 3번째 줄에서 count에 1을 더한다. 그 후에 다시 3번째 줄로 왔을 때엔 count가 2가 되었고 +1을 하며 점점 크기가 커진다.
 
그렇게 점점 커지다가 100이 되는 순간 while < 100이 아니므로 반복문을 빠져나온다.
 
이 코드에 있는 count라는 변수에 대해 이해했다면 input을 이용해 사용자가 직접 코드를 몇 번 반복할지도 정할 수 있다는걸 알 수 있다. 
 

무한 루프

 
우리가 공부를 하며 while 문을 잘못 쓰거나 어디선가 실수가 생겼을 때 결과창에 값이 매우 빠른 속도로 계속 나오는 것을 본 적이 있을 것이다. 
 
이를 '무한 루프'라고 한다. 무한 루프는 조건문이 항상 참이여서 문장이 while 문에서 빠져나오지 못하는 구조를 말한다. 

a = 0			# a를 0으로 생성
while True:		# 항상 while이 참 (무한루프)
	a +=1		# a가 1씩 증가
	print('a')	# a를 출력

 위 코드는 a가 0부터 1씩 무한히 증가하여 출력하는 코드이다. 이렇게 무한히 나오는 코드를 종료하기 위해선 2가지의 방법이 있다.
 
먼저 앞서 배웠듯 while의 조건을 걸어주는 것이다. a가 10 이상이라면 멈추는 조건을 만든다면 a는 0부터 10까지 출력되고 멈출 것이다.

break 

 
다음은 break이다.
 
break는 직역하면 멈춘다는 뜻을 가지고 있다. 위 코드를 통하여 while문을 이용해 무한루프를 돌리는 중에 a가 10 이상이면 멈추고 싶다면 break를 이용해 강제로 루프를 벗어나는 방법이 있다. 

a = 0			# 변수 a 에 0을 할당
while True:		# 무한루프
	a += 1		# a가 1씩 증가
    print(a)	# a를 출력
    if a >= 10:	# 만약 a가 10보다 크다면
    	break	# 멈춘다

위처럼 break에 조건을 걸어두어 조건문을 빠져나갈 수도 있다.

반응형

'Python' 카테고리의 다른 글

(Python) 숫자 up & down 게임  (0) 2022.05.07
(Python) 숫자 야구 만들기  (0) 2022.05.06
(Python) if 를 이용한 조건문  (0) 2022.05.04
(Python) 리스트 할당  (0) 2022.04.19
(Python) 입출력과 변수  (0) 2022.04.17

댓글