Python 제어문 - 반복문
반복문
- 반복문은 동일한 작업을 여러 번 실행하기 위해 사용되는 제어 구조이다. 주로 for 문과 while 문이 사용되며, 각각의 반복문은 다른 상황에 적합한 방식으로 사용된다.
while문
- 특정 조건이 참인 동안 반복정으로 코드 블록을 실행하는 제어 구조이다. while 문은 주어진 조건이 참인 동안 반복적으로 코드를 실행하며 조건이 거짓이 되면 반복을 멈춘다.
i = 1부터 하나씩 늘려가면서 5가 될 때까지 "Hello Python" 을 출력하는 while문이다.
for문
- 시퀀스(리스트, 튜플, 문자열 등)의 항목에 대해 작업을 수행하는 반복문이다. 주로 "지정된 범위 내에서 반복"할 때 사용한다. 이것은 반복할 요소들이 미리 정해져 있는 경우 유용하다.
list1 안에 4개의 요소가 있다. 그리고 그 리스트 길이 만큼 반복문을 돌리려고 한다. 한마디로 for문을 4번 돌리겠다는 말이다.
- range()
- range() 함수는 파이썬에서 순차적인 정수의 시퀀스를 생성하는데 사용되는 내장 함수이다. 주로 for 문과 함께 사용되며, 일정한 범위 내에서 반복 작업을 수행할 때 유용하게 활용된다. range() 함수의 결과로 생성되는 순차적인 정수 시퀀스는 실제로 메모리에 저장되지 않고 필요할 때마다 생성되므로, 큰 범위의 반복문에도 효율적으로 사용할 수 있다.
시작값, 단계는 생략이 가능하고 기본값은 각각 0 과 1이다.
for문과 range() 함수를 사용하여 1부터 100까지 홀수의 합을 계산한 것이다.
- enumerate()
- enumerate() 함수는 파이썬에서 반복문을 사용할 때 인덱스와 값을 함께 가져오기 위해 사용되는 내장 함수이다. 주로 for문과 함께 사용되며, 반복문 내에서 순서를 추적하면서 값과 해당 값의 인덱스를 함께 사용할 때 유용하다. eunmerate() 함수는 (인덱스, 값)의 튜플을 반환하는 이터레이터(iterator)를 생성한다.
list와 시작값을 주고 반복문을 돌리면 enumerate() 함수는 인덱스와 값을 함께 반환한다. 여기서 인덱스 값은 시작값부터 list 길이만큼 증가할 것이고, 값은 list에 있는 그대로 나오게 된다.
- zip()
- zip() 함수는 파이썬에서 여려 개의 반복 가능한(iterable) 객체를 병렬적으로 묶어주는 내장 함수이다. 각 객체로부터 요소를 하나씩 순서대로 가져와 튜플로 묶어주는 이터레이터를 반환한다. 주로 여러 개의 리스트나 튜플을 병렬적으로 처리하고자 할 때 사용한다.
이지미를 보면 range() 함수는 인덱스 값이 넘어가면 에러가 나지만, zip() 함수는 인덱스 값이 넘어가도 적은쪽에 맞춰서 반복한다.
반환하는 요소를 하나로 묶게되면 tuple로 반환한다.
중첩 반복문
- 파이썬에서 중첩된 반복문은 하나의 반복문 안에 다른 반복문이 포함된 구조를 말한다. 중첩 반복문은 외부 반복문의 각 반복마다 내부 반복문이 모두 실행되는 방식으로 작동합니다. 이를 통해 다차원의 데이터를 처리하거나 복잡한 작업을 수행할 수 있다.
문제1
해결 >>
위 두 풀이방식은 이중 반복문을 사용해서 작성하였다. while문은 범위를 1부터 5까지 설정하고 j를 초기화해주면서 돌리면 된다. for문은 범위만 잘 설정해 주면 초기화를 하지 않아도 잘 돌아간다.
문제2
해결 >>
문제3
해결 >>