for와 while은 반복을 수행하는 문법이다.
- 반복문은 동일한 값이나 일정 범위의 값을 일일이 작성하기가 번거로워 생긴 문법이다.
- 반복문을 잘 활용하면 코드 사용량을 줄일 수 있어 자주 쓰이는 문법 중에 하나이다.
1. for 문
- 영어에서 for는 시간(또는 기간)을 나타내는 명사와 함께 쓰여 '~동안에'라는 의미를 갖는다는 걸 알고있다.
- for 문에서는 시간은 아니지만 일정 범위에 해당하는 목록을 지정해서 사용한다.
for 변수명 in 변수로 지정될 데이터의 범위:
반복할 코드
- for 문의 형태이다.
1 2 | for num in range(1, 10): print(num) | cs |
- for 문의 예시이다.
- range 함수를 활용하여 1~9까지의 숫자를 범위로 지정했다. (컴퓨터언어는 숫자가 0부터 시작이므로 10은 9를 뜻한다)
- 범위에 포함된 숫자 1~9를 변수 num에 하나씩 전달한다.
- 변수 num을 print하면 개수 만큼 9번 반복해서 숫자를 순서대로 하나씩 출력한다.
1 2 3 4 5 6 7 8 9 10 11 12 | for num in range(1, 10): print(num) >> 1 2 3 4 5 6 7 8 9 | cs |
- 범위를 range 함수 말고도 list, tuple, set, dict과 같은 목록 형태의 자료형을 사용할 수 있다. (자료형에 대해선 별도로 다룰 것이다)
1 2 3 4 | num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] for num in num_list: print(num) | cs |
- 숫자 1~9를 리스트로 만들어 num_list 변수의 값으로 지정
- range(1, 10)과 동일하게 리스트의 숫자를 하나씩 num 변수로 보내어 반복 출력한다.
2. while 문
- while 문은 if 문과 for 문의 기능을 내포하고 있다.
- if 문처럼 조건에 부합 여부에 따라 while 문을 작동시켜 코드를 반복한다.
1 2 | while True: print(1) | cs |
- 예시로 조건이 항상 참이 되도록 while 문을 작성하면 print(1) 함수가 무한히 반복되는 무한루프가 발생한다.
(무한루프 : 코드의 한 구간이 끝나지 않고 무한히 반복되는 현상)
- 그럼 숫자 1만 한 번씩 무한히 반복된다.
1 2 3 4 | a = 1 while a < 10: print(a) a = a + 1 | cs |
- 우선 변수 a에 1을 값으로 지정
- while 문에 변수 a가 10보다 작은 경우에 반복이 되도록 조건을 지정
- 조건이 참인 경우 print 함수는 넘겨받은 변수의 값을 출력한다.
- 마지막으로 변수의 값에 1을 더해 변수 a에 대입하고 다시 처음으로 돌아간다.
- a가 1씩 증가해 9가 되면 최종적으로 변수가 10이 되므로 반복은 멈추게 된다.
'코딩 연습 > Python' 카테고리의 다른 글
함수 (0) | 2018.10.04 |
---|---|
클래스(class) (3) - 내장함수 활용 및 클래스 상속 (0) | 2018.10.03 |
클래스(class) (2) - 내장함수 활용하기 (0) | 2018.10.02 |
클래스(class) (1) (0) | 2018.10.01 |