파이썬 프로그래밍 시작 (7) 반복문과 무한루프

파이썬 프로그래밍 시작 (7) 반복문과 무한루프

파이썬 프로그래밍의 기본을 다지고 있는 중입니다. 지난 포스팅에서 ‘프로그램을 돌린다’라는 의미를 이해했습니다. 이번 포스팅에서는 무한루프를 이용한 코딩 방법을 배워보겠습니다. while 반복문을 무한루프로 만드는 방법, break, continue를 확인해 보시기 바랍니다.



글의 순서

파이썬 프로그래밍 시작하기 : replit 로그인
while 반복문으로 만드는 무한루프
무한루프 끝내기 : break
반복문과 continue


파이썬 프로그래밍 시작하기 : replit 로그인

리플(http://repl.it)에 로그인합니다.
로그인하고 난 후 보이는 화면의 중앙 상단에 ‘+new repl’ 버튼이 있습니다. 이 버튼을 클릭하면, ‘New repl’ 창이 뜨는데 여기서 프로그래밍 언어로 파이썬(Python)을 선택합니다. 파이썬 선택 후 ‘Creat Repl’ 을 클릭합니다.

이 과정을 거치면 지난 포스팅에서 보셨던 코딩 환경이 나타나는데, 역시나 3개의 창이 보입니다. 창의 배치는 달라질 수 있습니다만, 그 3개의 창은 각각 코드를 담고 있는 파일이름이 있는 창, 코드를 편집할 수 있는 창, 코드 실행결과를 확인할 수 있는 창(=터미널)으로 구성되어 있습니다.



while 반복문으로 만드는 무한루프

반복문02, 반복문03 코드에서 확인하신 바와 같이 for로 구현할 수 있는 반복문은 while로도 똑같이 구현할 수 있습니다. 상황에 따라 for문 또는 while문을 선택하면 됩니다. while문의 경우 반복횟수를 특정할 수 없을 때 유용하게 사용할 수 있습니다.

while i < 5:의 방식이 아니라, while True: 와 같이 조건을 항상 참으로 설정하면, 항상 while 내부의 명령을 실행하게 됩니다. 이 경우 끝도 없이 반복하게 되는데, 무한반복 또는 무한루프(loop)라는 용어를 씁니다. ‘무한루프에 빠졌다’ 이런 식으로 말입니다. 무한루프에 빠지면 프로그램은 끝없이 계속 돌아갑니다.


무한루프 끝내기 : break

무한루프에서 빠져나오려면 while 반복문 내부에 조건문을 추가하면 됩니다. 루프를 돌다가 특정 조건을 만족하면 루프를 빠져나와라 라는 식으로 말입니다.

(1) while 반복문과 break

while 내부에 조건문을 추가하고 while문 내부에서 특정한 조건을 만족할 때, 반복을 그만해라라는 식으로 while문 내부에 조건을 만들 수 있습니다. 반복문04 코드에서처럼 반족을 그만해야 할 경우, break라는 명령어를 씁니다.

실습코드 : 반복문04

i = 0
while True:
  print(i)
  print("현아 : 언니 어떤 커피 좋아해?")
  print("사랑 : 나? 나는 캬라멜 마끼아또")

  if i > 2:
    break

  i = i + 1

반복문04 코드를 실행시킨 결과는 다음과 같습니다.
i 값 0 출력, 대화출력, 조건문에서 i 값이 2보다 크지 않으므로 조건을 만족하지 못해 조건문 안에 있는 명령을 실행하지 않습니다. i 값을 1로 업데이트 후 반복문 맨 처음으로 돌아갑니다.
i 값 1 출력, 대화출력, 조건문에서 i 값이 2보다 크지 않으므로 조건을 만족하지 못해 조건문 안에 있는 명령을 실행하지 않습니다. i 값을 2로 업데이트 후 반복문 맨 처음으로 돌아갑니다.
i 값 2 출력, 대화출력, 조건문에서 i 값이 2보다 크지 않으므로 조건을 만족하지 못해 조건문 안에 있는 명령을 실행하지 않습니다. i 값을 3으로 업데이트 후 반복문 맨 처음으로 돌아갑니다.
i 값 3 출력, 대화출력, 조건문에서 i 값이 2보다 크므로 조건을 만족합니다. 그래서 조건문 안에 있는 break 명령을 실행하게 되어 반복문을 빠져나옵니다.

(2) for 반복문과 break

반복문04 코드는 while 반복문과 break의 조합인데, 이걸 for 반복문으로 바꿔서 반복문05 코드에 나타내었습니다. for 반복문에서는 반복회수를 정해줘야 하는데, 여기서는 100으로 했습니다.

실습코드 : 반복문05

for i in range(100):
  print(i)
  print("현아 : 언니 어떤 커피 좋아해?")
  print("사랑 : 나? 나는 캬라멜 마끼아또")

  if i > 2:
    break

반복문05 코드를 실행시킨 결과는 다음과 같습니다.
i 값 0 출력, 대화출력, 조건문에서 i 값이 2보다 크지 않으므로 조건을 만족하지 못해 조건문 안에 있는 명령을 실행하지 않습니다. for 반복문 맨 처음으로 돌아가면 i 값은 1이 됩니다.
i 값 1 출력, 대화출력, 조건문에서 i 값이 2보다 크지 않으므로 조건을 만족하지 못해 조건문 안에 있는 명령을 실행하지 않습니다. for 반복문 맨 처음으로 돌아가면 i 값은 2가 됩니다.
i 값 2 출력, 대화출력, 조건문에서 i 값이 2보다 크지 않으므로 조건을 만족하지 못해 조건문 안에 있는 명령을 실행하지 않습니다. for 반복문 맨 처음으로 돌아가면 i 값은 3이 됩니다.
i 값 3 출력, 대화출력, 조건문에서 i 값이 2보다 크므로 조건을 만족합니다. 그래서 조건문 안에 있는 break 명령을 실행합니다. 반복문을 빠져나옵니다.


반복문과 continue

반복문 안에 continue를 넣어 놓으면, 반복문을 실행하다가 continue를 만나면 반복문 맨 처음으로 돌아갑니다. 따라서, continue 아래에 있는 명령을 실행시키지 않습니다. 그렇다면 어떨 때 이 continue를 유용하게 사용할 수 있을까요? continue는 특별한 조건에서 명령을 실행시키고 싶지 않을 때 사용합니다.

반복문06에서 continue가 사용되는 모습을 볼 수 있습니다. 반복문06 코드에서는 3번만 반복하도록 range(3)으로 설정하였습니다. 반복문06 코드를 실행시킨 결과는 다음과 같습니다.

i값 0 출력, 대화출력, 조건문에서 i 값이 1이 아니므로 조건을 만족하지 못해 조건문 안에 있는 명령을 실행하지 않습니다. ‘캬라멜?’ 이라는 대화 출력 후 for 반복문 맨 처음으로 돌아가면 i 값은 1이 됩니다.
i값 1 출력, 대화출력, 조건문에서 i 값이 1이므로 조건을 만족합니다. 조건문 내의 continue 명령을 실행해서 for 반복문 맨 처음으로 돌아갑니다. i 값은 2가 됩니다.
i값 2 출력, 대화출력, 조건문에서 i 값이 1이 아니므로 조건을 만족하지 못해 조건문 안에 있는 명령을 실행하지 않습니다. ‘캬라멜?’ 이라는 대화를 출력하며, 3번 반복 했으므로 for 반복문을 마칩니다.

실습코드 : 반복문06

for i in range(3):
  print(i)
  print("현아 : 언니 어떤 커피 좋아해?")
  print("사랑 : 나? 나는 캬라멜 마끼아또")

  if i == 1:
    continue

  print("민서 : 캬라멜?")


마치며 …

어린이 파이썬 프로그래머 여러분과 파이썬 프로그래밍의 기본을 다지고 있는 중입니다. 이번 포스팅에서는 무한루프를 이용한 코딩 방법과 break, continue를 사용하는 방법까지 배워보았습니다. 여기까지면, 우리의 일상언어로는 ‘엄마, 아빠, 배고파, 아야, 안녕하세요’ 정도의 언어까지 습득한 것입니다. 초등학교 갈 준비가 된 것입니다. 다음 포스팅에서는 자료구조에 대해 알아보겠습니다.

 

 

함께 참고하면 더 좋은 글 :
1. 파이썬 프로그래밍 시작하기 (1) 온라인 프로그래밍 환경 replit
2. 파이썬 프로그래밍 시작 (2) 변수, 타입, 문자열 실습
3. 파이썬 프로그래밍 시작 (3) 파이썬 함수 실습
4. 파이썬 프로그래밍 시작 (4) 조건문
5. 파이썬 프로그래밍 시작 (5) 연습문제 : 함수 만들기
6. 파이썬 프로그래밍 시작 (6) 반복문
7. 파이썬 데이터 분석! 데이터 분석을 위한 코딩언어 파이썬
8. 애플 실리콘 M1 시리즈 비교 : M1 Pro, M1 Max, M1 Ultra

 


참고자료

테크보이 워니(2020), 코딩 1시간만에 배우기 – 파이썬 (ft. 실리콘밸리 엔지니어)

 

Leave a Comment