반응형
반복문(Repetitive Statement)이란?
- 문장을 반복적으로 수행
- 정해진 동작을 반복하여 처리할 때 사용
- 파이썬에서 제공하는 반복문
> while 문
▶ 어떤 조건이 만족하는 동안 문장을 수행하고 만족하지 않는 경우 수행 중단
▶ while 문 기본 문법
>> 활용 예시
▶ while문 예제 ①
- 1부터 10까지 반복해서 출력하는 프로그램을 만들어라.
- 3번째 줄[print(i)] 에서 끝내버리면 i는 계속 1이기 때문에 무한대로 출력이 된다.
- 4번째 줄은 i + 1 = i 의 표현 연산 식이고 3번째 줄에서 i를 출력하고 4번째 줄에서 1을 더하고 계속 누적 반복된다.
- 10이라는 숫자에 도달할 때까지
▶ while문 예제 ②
- 1부터 10까지의 값을 더하는 프로그램을 만들어라.
: 위 순서처럼 필요한 함수를 큰 그림에 맞게 짜고 조합하고 누적된 숫자의 변수인 sum을 출력하면 값이 나온다.
반드시 해당 정답만 정답으로 존재하는 것은 아니다. 푸는 사람에 따라 문제 풀이 방법은 달라질 수 있다!
> for 문
▶ 반복 범위를 지정하여 반복 수행
▶ for 문 기본 문법
▶ 리스트, 튜플, 문자열을 범위로 잡을 수 있다.
▶ 해당 범위의 값의 개수만큼 반복한다. (무한히 반복하는 while 과의 차이점)
---------------------------------------------------------------------------------------------------------------------------
● 리스트 요소 반복
● 튜플 요소 반복
● 문자열 요소 반복
임의의 i 값들이 리스트, 튜플, 문자열 안에 있는 요소들의 개수만큼만 반복되고 있음을 볼 수 있다.
> range( )
▶ 범위 반복에 사용
▶ range 문법
▶ 시작 값과 증가 값은 생략 가능
▶ 생략할 때 시작 값은 0, 증가 값은 1
▶ 마지막 값은 범위에 포함되지 않는다. [ex: range(1, 10) = 1 이상 10 미만]
> 1부터 10 미만의 숫자 범위중 2씩 증가한다는 말이다. 이는 홀수를 뜻하게 된다.
> _ 기능
▶ 이전에는 반복문을 사용하면서 iterator 역할을 위해서 i 변수가 필요했었다.
▶ for문 이후에는 interator 변수 i 가 필요하지 않게 됨
▶ 이후에 사용되지 않을 변수에 어떤 이름을 부여하고 싶지 않을 때 _ 를 사용
> 6개 자리의 범위(range(6)) 에서 굳이 임의의 문자를 넣지 않고 _ 만 넣어도 동작하는 것을 볼 수 있다.
: 숫자, 특수문자 등 넣으면 Error 발생함
> else 문
▶ 반복이 종료된 후에 한번 더 실행되는 문장(마무리)
> 앞 예시에 나왔던 10까지의 합을 구하는 예제이다.
마지막 총 합의 결괏값만 출력하는 부분에서 마무리로 else를 사용해 깔끔하게 정리한 것을 볼 수 있다.
> break 문
▶ 반복문을 종료시키는 기능을 한다.
> 99까지 반복되어야 할 함수가 if 문 안에 있는 break에 걸려 10까지만 반복하고 종료되었다.
> 반복문에서 사용된다.
> continue 문
▶ 다음 문장으로 진행시키지 않고 곧장 반복 조건문으로 이동시키는 문법
▷ 예시] 1에서 10까지 숫자 중 홀수만 출력하라
- i % 2 == 0 이 뜻은 2로 나눴을 때 나머지가 0인 숫자 즉 2로 나눠 떨어지는 짝수를 의미한다.
- 짝수에 해당이 되면 참(True)이기 때문에 continue 문장으로 이동하게 되고 이어서 다시 조건문으로 돌아간다.
- 짝수들은 출력되지 않고 조건문으로 가고 반복 함수는 다음 숫자들로 계속 진행된다.
> 리스트 내포(List Comprehension)
▶ 리스트 안에 for 문과 if 문 사용
for를 기준으로 뒤에서 반복하여 앞에서(i*2) 출력을 하는 방식이다.
즉 list 값들을 반복하며 출력하되, 2를 곱해서 출력을 하라는 뜻이다.10까지의 범위를 반복하는데 [for i in range(10)]
짝수인 숫자들만 [if i % 2 == 0]
2를 곱해서 출력하라 [i * 2]
반응형
'Python' 카테고리의 다른 글
Pandas 기본 파헤치기(DataFrame) (0) | 2020.09.08 |
---|---|
Pandas 기본 파헤치기(Series) (0) | 2020.09.07 |
Python(5) - 조건문 알아보기(If, else, elif, pass) (0) | 2020.08.20 |
Python(4) - List(리스트)란? (0) | 2020.08.12 |
Python(3) - 문자열 포맷팅(%, format, f-string) (0) | 2020.08.11 |