이번에는 반복문에 대해 알아보자. 반복문이라는 단어에서 알 수 있듯이 반복을 위해서 사용한다. 반복이란 무엇인가 같은 일이나 행동을 계속해서 실행하는 것이다. 한번 자기소개를 하는 문장을 10번 출력해보자.
자기소개를 하는 코드를 한 줄 만들고 복사 붙여 넣기로 완성했다. 그렇다면 이번에는 10,000번을 출력해보자. 어느 세월에 다 할 것인가??
복사 붙여 넣기를 1만 번 할 수도 있지만 시간이 엄청 걸린다. 실수하면 10000번을 못 채우거나 넘길 수도 있다. 이때 반복문을 사용해서 해결해보자.
단 두줄로 자기소개를 10,000번 할 수 있다. 조건문에서 if안에 if를 중첩해서 사용 가능했듯이 반복문도 중첩이 가능하다. 가장 흔하게 나오는 예제가 구구단이다.
range(2, 10)에는 2부터 9까지 숫자 목록(list)이 있고 range(1, 10)에는 1부터 9까지 숫자 목록이 있다.
예제가 실행될 때 첫 번째 i의 값은 2가 되고, j의 값은 1이 된다. 그리고 2 x 1 = 2가 출력된다.
그 후에 j의 값은 2가 되어 2 x 2 = 4 가 출력된다. 그래서 j값이 9까지 올라가고 2 x 9 = 18이 출력된다. 이제 2단 끝났다.
i의 값이 3이 된다. i의 값이 3이 되고 나서 다음 j는 다시 1이 된다. 이제 3단이 시작된다. 그래서 j 값이 1부터 9까지 변경되어 3 x 9 = 27을 출력하면 3단이 끝나고, i의 값이 4가 되어 4단이 시작된다.
이번에는 반복문과 조건문을 같이 사용해보자.
if의 조건을 보자. i % 2는 나누기를 한 나머지 값을 반환한다. 숫자를 2로 나눈 나머지 값이 1이면 홀수, 0이면 짝수인데 이 예제에서는 나머지가 1인지 아닌지를 비교하므로, 나머지 값이 1인 경우, 즉 i 값이 홀수인 경우에만 구구단을 출력하는 예제다. 이렇게 반복문 안에 조건문을 사용할 수 있다.
반복문은 왜 사용하는 걸까? 위에서 든 극단적인 예시를 보면 동일한 기능을 10,000번 실행한다. 요약하면 기능을 반복적으로 실행해야 하는 경우에 사용한다. 사람이 반복하는 것보다는 컴퓨터가 반복하는 것이 더 정확하고, 실제로 사람은 충전과 휴식이 필요하지만 컴퓨터는 휴식 없이 계속 일을 할 수 있다. 이번에는 for 말고 while을 사용해서 반복문을 만들어 보자.
while은 조건문과 사용이 비슷하다. 사용방법은 'while <조건> : ' 식으로 조건이 True면 실행하고, False면 실행되지 않는다. 위 예제는 조건이 계속 True이므로 계속 반복된다. 그렇다면 while 문을 종료하는 방법은 없는 걸까???
print 아래 'break'를 추가했다. break는 반복문을 탈출할때 사용한다. 반복문 안에 break를 사용하면 반복문을 탈출 할 수 있다. for문도 같은 반복문이므로 for문에서도 사용 가능하다.
위 예제를 실행하면 "무한 반복됩니다."를 딱 한번 출력하고 종료된다. 출력 후 break가 실행되기 때문에 다시 반복되는 것이 아니라 반복문이 끝나서 프로그램이 종료되기 때문이다.
'프로그래밍' 카테고리의 다른 글
파이썬기초 - 파이썬을 이용해 턴제 게임 만들기 (2) | 2020.11.15 |
---|---|
파이썬기초 - 클래스 (0) | 2020.11.15 |
파이썬기초 - 조건문 (0) | 2020.11.15 |
파이썬 기초 - 변수 (0) | 2020.11.14 |
맥북 구매후 설치해야하는 필수 앱 추천 (0) | 2020.11.13 |
댓글