[003일차] 반복문 / 파이썬 기초

이연희·2023년 8월 5일

INDEX
1. 반복문
(1) for문
(2) while문
(3) 반복문 제어
(4) 중첩 반복문

1. 반복문

반복문이란, 특정 실행을 반복하는 것으로, 이를 실행하면 코드가 간결해지고 유지보수가 쉬워진다. for문과 while문으로 구분된다.

(1) for문

횟수에 의한 반복을 시행할 때 사용된다.

for 매개변수 in range(시작,끝,간격):
	실행문

다음과 같은 코드를 사용하는데,

for i in range(2,11,2):
	실행문

다음과 같이 작성한다면, i는 2부터 10까지 2씩 증가한다는 것을 말한다.

하지만 만약에 단계 매개변수가 1의 간격을 가르킨다면

for i in range(1,11):
	실행문

이렇게 생략할 수 도 있고,

시작 매개변수가 0부터 시작한다면 마찬가지로 이것 또한 생략할 수 있다.

for i in range(10):
	실행문

(2) while문

for문과 달리, 조건에 의한 반복 실행문을 작성할 때에는 while문을 사용하는 것이 더 적합하다.

while문을 사용할 때에 한 가지 주의해야 할 점은 조건식에 사용되는 변수를 실행문에서 단계를 조절해서 무한루프에 빠지지 않도록 해야한다는 것이다. 예를 들어,

n = 1

while n < 10:
	print(n)

이런 조건문을 실행한다면, n은 계속 1에서 머물러 있게 되면서 무한대로 n은 1의 값을 출력하게 된다. 하지만

n = 1

while n < 10:
	print(n)
    n += 1

이런식으로 n을 1씩 늘려준다면 n=9까지만 값을 출력하게 된다.

(3) 반복문 제어

반복문이 무한루프에 빠지지 않게 하기 위해서 이를 제어할 수 있는 방법에 두 가지가 있다.

  • continue
    실행문에 continue를 작성한다면 실행을 생략하고, 다음 반복 실행문으로 넘어가게 된다. 예를 들어 다음과 같은 코들르 작성한다면
for i in range(101):
	if i % 7 !=0:
    	contitnue
    print(i)

i를 0부터 100까지 반복하는 동안에 만약 i를 7로 나눈 나머지의 값이 0이 아니라면 실행을 중지하고 다음 실행으로 넘어간다. 따라서 i가 7의 배수의 값만 출력하게 된다.

  • break
    continue와 달리 break는 조건에서 break를 맞딱뜨린다면 다음 실행이 남아 있든 말든 반복문을 종료하게 된다.
sum = 0

for i in range(100):
    sum += i
    if sum > 100:
        break
print(i)

i가 99까지의 정수를 반복한다고 할 때, sum은 차례대로 그 정수를 합하게 되는데, sum이 100을 넘는 순간 반복문은 즉시 중단하게 되고, 그 차례의 i를 출력하는 코드를 작성한 것이다.

(4) 중첩 반복문

중첩 반복문이란, 반복문이 2개 이상 겹쳐진 형태를 말한다.

for i in range(1,10):
    for j in range(i):
        print('*', end='')
    print()

이런식으로 사용할 수 있는데, 매개변수 i가 반복할 때 j는 다시 i를 범위로 여겨서 실행문을 작동하는 것이다.

이러한 결과를 출력하게 된다. end=''으로 자동개행하지 않도록 막아서 '*'이 i만큼 줄지어 출력할 수 있도록 한 것이다.

적당한 수의 중첩 반복을 시행한다면 간결한 코드를 작성할 수 있지만 너무 많이 중첩된다면 코드 보기도 어렵고, 프로그램에 부하가 걸리므로 지양하는 것이 바람직하다.

profile
안녕하세요, 데이터 공부를 하고 있습니다.

0개의 댓글