파이썬

Python #10) 반복문

윈트라 2019. 11. 2. 00:23

- 목차 -

for문

while문

저번 포스팅에서 다뤘던 조건문과 이어서 반복문에 대해서 배워보도록 할게요

 

반복문은 어떠한 일을 반복하는 것입니다. 

사과나무에서 사과를 따는일도 어떻게 보면 반복이 되기도 하고, 

곱하기도 반복의 일종이라고 할수있죠.

 

현실에서는 이런 반복문을 표현할때

~에서 ~까지 몇번 반복한다. 라고 말합니다.

예를 든 사과나무에서는 사과나무에서 사과를 다 딸 때까지 반복한다. 가 될 수 있겠죠

 

하지만 Python에서는 반복문에도 여러 종류가 있습니다.

for 를 이용한 반복문
While 을 이용한 반복문

대표적으로는 for문과 while문을 활용하는데 이들을 예시를 통해 알아보도록 하죠

for

 

 

우선 for문의 문법을 해석해보겠습니다

리스트, 튜블, 문자열에 있는 값을 불러와 변수에 저장합니다.  그 후 아래 문장을 수행하고

 리스트에 있는 다음 값을 불러옵니다. 이렇게 처음부터 끝까지 반복합니다.

그 아래에는 수행할 문장이 있는데 예를 들면 

fruit이라는 리스트에 apple, banana, orange 값을 넣습니다. 그리고 fruit 이라는 리스트의

처음부터 끝까지 값을 불러오는데 그 값을 favorite이라는 변수에 저장을 합니다.

뜬금없지만 복습을 위해 퀴즈를 하나 내도록 할게요 그러면 이때 favorite의 자료형은 무엇이 될까요? 

 

네 그렇습니다 Str형입니다. 짝짝짝

 

While문을 하기 전에 for문의 응용에 대해 살펴볼게요

for 반복문에 continue문을 사용하여 for문의 처음으로 돌아갈 수 있습니다.

 

학생들의 점수를 입력받아 합격 / 불합격을 가리는 예제를 가져왔습니다.

이 구문에서 점수가 40점보다 낮은 사람은 print로 점수를 출력하지 않고

                      다시 for문의 처음으로 돌아가 다음 사람의 점수를 비교하는것을 알 수 있습니다.

 

 

그 다음으로 많이 쓰이는것은 for문과 range의 결합입니다.

range는 연속된 숫자(정수)를 만들어주는 함수인데 범위를 나타낼때 유용하게 쓰입니다.

즉 리스트, 튜플, 문자열이 쓰이는 자리에 쓸 수 있습니다.

 

2부터 10까지의 범위를 i에 저장한 후 i를 차례대로 출력하는 예제입니다.

그런데 왜 10은 출력하지 않는걸까요? 

 

나중에 함수 파트에서 배우겠지만 range함수는 마지막 숫자 전까지 값을 받아옵니다

 

while

 

 

그다음 while 반복문에 대해 알아보도록 하죠.

 

while반복문은 지정된 조건문을 만족할때동안 수행할 문장을 반복합니다.

While 을 이용한 반복문

사과를 10개먹으면 수행이 끝나는 프로그램입니다.

 

하지만 보통의 경우 사과 10개를 다 먹기에는 힘이 들죠.  그래서 도중에 배가 불러 사과를 덜 먹는 방법이 있습니다.

바로 while문이 수행되고 있는 도중 강제로 빠져나올 수 있게 해주는  break문을 사용하면서 말이죠

 

 

사과를 4개만 먹고 그만 먹으려면 도중에 끊을 조건을 기입한 후 break를 써주면 됩니다. 

이렇게 되면 while문이 10번 수행되기 전에 프로그램이 종료됩니다. 

 

이러한 break문을 통해 프로그램의 쓸데없는 수행을 줄여 전체적인 수행시간을 줄일 수 있습니다.

 

다음 시간에는 반복문을 중첩해서 사용하는 중첩 반복문과 전체적으로 배운것을 활용하는 시간을 가져보도록 할게요