반복문이란 특정 실행을 반복하는 것이며 이를 사용한다면 프로그래밍이 간결하고 유지 보수하기가 쉽다.
반복문은 대량 메일, 문자 발송, 인사말 반복, mp3 반복 재생, 구구단 출력, 팩토리얼, 타이머, 알람, 게임 반복 실행 등 많은 기능에서 쓰이는 구문이다. 아래 사진은 변수에 리스트형태로 저장하여 반복문 사용 및 적용한 결과이다.
반복문의 종류에는 횟수에 의한 반복문과 조건에 의한 반복문이 있는데 횟수 지정하는 경우는 다음과 같다.
for i in range(100) :
print('i->{}'.format(i))
이때 변수 i 는 0 부터 99이 될 때 까지 실행을 반복하므로(100회 실행) 출력 코드 작성 후 실행 시 마지막에 99 까지 출력이 된다. ex) 회원 100명 한테 메일 발송
조건에 의한 반복문은 조건을 만족할 때 까지 반복 실행하며 조건을 만족하지 못할 시 반복문을 빠져 나온다. 아래 사진은 조건에 의한 반복문 코드 작성 후 실행한 결과이다. while 구문 뒤의 조건은 괄호안에 작성하여도 되고 괄호를 하지 않아도 된다.
num = 0
while (num<10):
print(num->{}'.format(num))
num += 1
for 문을 사용할 때 우리는 pass 라는 구문을 사용할 수 있는데 실행문에 pass 키워드를 사용하면 실행문을 적지 않아도 정상적으로 실행된다. 이는 실행문 코드에 대한 내용을 나중에 작성하고 싶을 때 사용하면 좋다.
range 키워드 기본 사용법은 다음과 같다. range(1,20,2) 라고 작성한다면 1부터 시작하여 20 까지 2씩 증가한다. 1씩 증가하는 경우와 시작이 0 인 경우는 생략이 가능하다.
반복문 사용 시 무한 반복에 빠지게 되는경우 시스템이 아웃되는 경우도 있기 때문에 조심해야 한다. 무한 반복은 while 문사용 시 나타나는 경우가 많으며 while 문에서 조건식의 결과가 항상 True 인 경우 무한히 반복하게 된다.
반복 실행중 continue 를 만나면 아래의 실행을 생략하고 다음 반복 실행문으로 다시 넘어가며 else 의 실행문은 반복문이 종료된 후 실행된다.
cnt = 0
for i in range(100):
if i%7 != 0:
continue
print('{}는 7의 배수 입니다.'.format(i))
cnt += 1
else:
print('99까지의 정수 중 7의 배수는 {}개 입니다.'.format(cnt))
break 키워드도 있는데 이 키워드를 사용하면 반복 실행 중 반복을 빠져나올 수 있다. 반복문 안의 조건문에 따라 break 이 실행되도록 코드를 작성하면 유용하게 쓸 수 있다.
반복문안에 또 다른 반복문을 선언하는 중첩 반복문도 있는데 사용 예시는 다음과 같다.
for i in range(1,10):
for j in range(i):
print('*', end='')
print() #개형(줄바꿈)만 하도록 한다.