파이썬 프로그래밍 시작 (6) 반복문
파이썬 프로그래밍에 조금씩 익숙해지고 있는 중입니다. 코딩하는 개발자들이 쓰는 표현중에 ‘프로그램을 돌린다’, ‘코드를 돌린다’라는 표현이 있습니다. 코드를 돌린다라는 것은 반복문과 직접적으로 연결됩니다. 이번 포스팅에서는 파이썬 프로그래밍 중 반복문에 대해 배워보겠습니다.
글의 순서
파이썬 프로그래밍 시작하기 : replit 로그인
반복문이 필요한 때.
파이썬 프로그래밍 : for 반복문
파이썬 프로그래밍 : 조건문과 함께 쓰는 while 반복문
파이썬 프로그래밍 시작하기 : replit 로그인
리플(http://repl.it)에 로그인합니다.
로그인하고 난 후 보이는 화면의 중앙 상단에 ‘+new repl’ 버튼이 있습니다. 이 버튼을 클릭하면, ‘New repl’ 창이 뜨는데 여기서 프로그래밍 언어로 파이썬(Python)을 선택합니다. 파이썬 선택 후 ‘Creat Repl’ 을 클릭합니다.
이 과정을 거치면 지난 포스팅에서 보셨던 코딩 환경이 나타나는데, 역시나 3개의 창이 보입니다. 창의 배치는 달라질 수 있습니다만, 그 3개의 창은 각각 코드를 담고 있는 파일이름이 있는 창, 코드를 편집할 수 있는 창, 코드 실행결과를 확인할 수 있는 창(=터미널)으로 구성되어 있습니다.
반복문이 필요한 때.
함수01 코드는 대화를 출력합니다. 이 대화를 5번 써야 한다고 하면, 가장 간단하게는 똑같은 코드를 4번 더 복사해 넣으면 됩니다. 우리가 원하던 대로 함수02 코드는 대화를 5번 출력해줍니다. 그런데, 코드는 참 길어졌고, 복잡해보입니다. 지난 포스팅 함수 편에서는 함수로 깔끔하게 나타내는 법을 배웠습니다. 아래의 함수02 코드가 함수03의 형태로 쓰여진 것과 같이 말입니다.
실습코드 : 함수01
print("현아 : 언니 어떤 커피 좋아해?")
print("사랑 : 나? 나는 아메리카노")
실습코드 : 함수02
print("현아 : 언니 어떤 커피 좋아해?")
print("사랑 : 나? 나는 아메리카노")
print("현아 : 언니 어떤 커피 좋아해?")
print("사랑 : 나? 나는 아메리카노")
print("현아 : 언니 어떤 커피 좋아해?")
print("사랑 : 나? 나는 아메리카노")
print("현아 : 언니 어떤 커피 좋아해?")
print("사랑 : 나? 나는 아메리카노")
실습코드 : 함수04
def chat():
print("현아 : 언니 어떤 커피 좋아해?")
print("사랑 : 나? 나는 아메리카노")
chat()
chat()
chat()
chat()
만약 함수04 코드에서 대화를 4번이 아니라 100번 출력해야한다면, chat()을 100번 써줘야 합니다. 100번이나 쓰게 되면 역시나 코드가 길어지고 눈에 잘 들어오지 않습니다. 새로운 방법이 필요한데, 이 상황에 가장 좋은 것이 바로 반복문입니다.
파이썬 프로그래밍 : for 반복문
반복문은 for, while로 나타낼 수 있습니다. 먼저 for 반복문(for loop)부터 알아보겠습니다. 함수03 코드를 반복문01 코드로 나타내면 아래와 같습니다. for 다음에 i가 나오는데, i 라는 변수에 1, 2, 3, …을 넣어가며 반복 회수를 세어보라는 것이고, range(5)는 5번 반복하라는 의미입니다. 실제로 i 라는 변수가 어떻게 바뀌는지를 확인해보면 이것을 쉽게 알 수 있는데요. print 명령어를 써서 반복문02에 나타내었습니다. 반복문02 코드를 실행시켜보면 대화에 앞서 숫자가 0, 1, 2, 3, 4, 이렇게 5개가 출력됩니다. 여기서 다시 강조하는 것은 0이 맨 처음 시작되는 숫자라는 점입니다. 0부터 시작한다는 것에 익숙해지셔야 합니다.
실습코드 : 반복문01
for i in range(5):
print("현아 : 언니 어떤 커피 좋아해?")
print("사랑 : 나? 나는 캬라멜 마끼아또")
실습코드 : 반복문02
for i in range(5):
print(i)
print("현아 : 언니 어떤 커피 좋아해?")
print("사랑 : 나? 나는 캬라멜 마끼아또")
파이썬 프로그래밍 : 조건문과 함께 쓰는 while 반복문
이런 반복문을 쓸 때에 어떤 특정한 조건 내에서만 반복해야 할 경우도 있습니다. 특정한 조건에 맞춰 반복문을 만들 때는 for 대신에 while을 씁니다. 반복문02를 while 문으로 바꾼다면, i라는 변수를 while앞으로 빼는 대신, i를 하나씩 증가시켜 줘야 합니다. while로 쓰는 반복문03 코드가 for를 쓰는 반복문02와 같은 결과를 만듭니다. 마지막 줄의 i = i+1이 ‘i라는 변수에 i+1을 넣어라’라는 것을 의미하므로, i를 하나씩 증가시켜주는 것입니다. 반복문03 코드를 하나씩 해설해보겠습니다.
반복문03은 i가 5보다 작다면, 즉 i가 5보다 작은 조건일 때 while문 내에 있는 명령을 실행시키라는 코드입니다. i는 0부터 시작합니다. 따라서 0을 출력한 후 대화를 출력합니다. while문 마지막에 i = i+1이 있으니까, 여기에서 i가 하나 증가되어 이제 i는 1이 됩니다. i는 여전히 5보다 작으므로, while문 첫 번째 명령부터 또 수행하게 되면, 1을 출력한 후 대화를 출력합니다. 마찬가지로 while문 마지막에 i = i+1이 있으니까, 여기에서 i가 하나 증가되어 이제 i는 2가 됩니다. 이런 과정을 반복해서 while문 마지막 i = i+1에서 i가 5로 되면, while문의 조건을 만족하지 못합니다. 그래서 더 이상 while문 내의 명령을 수행하지 않습니다.
이 코드는 반복문02 코드와 똑같은 결과를 출력해줍니다. while문을 사용할 때는 i = i+1과 같이 반복하면서 while문의 조건을 체크할 수 있는 장치가 필요합니다. 마지막 줄의 i = i+1과 i가 0, 1, 2, 3, 4 인 것과 같이 0부터 시작한다는 것을 확인해 보시기 바랍니다,
실습코드 : 반복문03
i = 0
while i < 5:
print(i)
print("현아 : 언니 어떤 커피 좋아해?")
print("사랑 : 나? 나는 캬라멜 마끼아또")
i = i + 1
마치며 …
이번 포스팅에서는 파이썬 프로그래밍 중 변수, 타입, 함수, 조건문에 이어 반복문을 배워보았습니다. 어린이 파이썬 프로그래머 여러분들도 이제는 ‘프로그램을 돌린다’, ‘코드를 돌린다’라는 표현을 그냥 사용하시면 됩니다. 컴퓨터 언어도 우리가 일상에서 쓰는 언어처럼 반복 연습해야 한다는 사실을 염두에 두고 반복문에서 유용한 무한루프, break, continue로 넘어가겠습니다.
함께 참고하면 더 좋은 글 :
1. 파이썬 프로그래밍 시작하기 (1) 온라인 프로그래밍 환경 replit
2. 파이썬 프로그래밍 시작 (2) 변수, 타입, 문자열 실습
3. 파이썬 프로그래밍 시작 (3) 파이썬 함수 실습
4. 파이썬 프로그래밍 시작 (4) 조건문
5. 파이썬 프로그래밍 시작 (5) 연습문제 : 함수 만들기
6. 파이썬 데이터 분석! 데이터 분석을 위한 코딩언어 파이썬
7. 애플 실리콘 M1 시리즈 비교 : M1 Pro, M1 Max, M1 Ultra
참고자료
테크보이 워니(2020), 코딩 1시간만에 배우기 – 파이썬 (ft. 실리콘밸리 엔지니어)