◎ range() 함수
range() 함수는 for 반복문과 함께 많이 사용되는 함수이다. 이는 범위를 뜻하고 특정한 횟수만큼 반복해서 실행하고 싶을 때 사용한다. 함수의 매개변수에는 반복 횟수와 관련된 정수가 들어간다.
매개변수에 숫자를 한 개 넣는 방법
첫째로 매개변수에 숫자를 한 개 넣는 방법이다. 형태는 'range(n)'과 같고 숫자의 범위는 0부터 n-1까지다.
매개변수에 숫자를 두 개 넣는 방법
둘째로 매개변수에 숫자를 두 개 넣는 방법이다. 형태는 'range(n, m)'과 같고 숫자의 범위는 n부터 m-1까지다.
매개변수에 숫자를 세 개 넣는 방법
셋째로 매개변수에 숫자를 세 개 넣는 방법이다. 형태는 'range(n, m, k)'와 같고 숫자의 범위는 n부터 m-1까지로, 매개변수가 두 개인 경우와 동일하나 앞뒤의 수가 k만큼의 차이가 존재한다.
※ range() 함수를 사용할 때의 주의사항 ※
range(10), range(0, 10), range(0, 10, 2)처럼 사용하는 경우에는 범위의 두번째 숫자인 10은 범위에 포함되지 않음에 주의해야 한다.
◎ for 반복문: 리스트와 범위 조합, 반대로 반복
위 코드를 보면 5개의 요소를 가진 리스트를 선언하고 앞서 보았던 range()함수를 사용하여 for문의 반복 횟수를 설정하고 있는 것을 확인할 수 있다. range() 함수의 매개변수로는 'len(list_a)'이 사용되었으며 이는 list_a의 요소 수를 뜻한다.
범위의 뒤에서부터 반복하기
범위의 뒤에서부터 반복하는 방법은 2가지가 있다.
첫번째로는 range() 함수의 매개변수를 3개 사용하는 방법을 활용하는 것이다. 이 방법에서 세번째 숫자는 앞뒤 숫자의 간격을 뜻한다고 하였다. 이를 사진처럼 -1로 설정하게 되면 1씩 줄어드는, 즉 내림차순으로 반복을 할 수 있게 된다.
두번째로는 새로운 함수인 reversed()를 사용하는 것이다. 이 함수를 적용하게 되면 [0, 1, 2, 3, 4]의 범위가 [4, 3, 2, 1, 0]의 범위로 뒤집어지게 된다.
◎ while 반복문
파이썬에는 for 반복문 외에도 범용적으로 사용 가능한 while 반복문이 있다. 기본 형태는 아래와 같다.
while (bool 표현식):
실행할 문장
표현식이 참(True)인 경우에만 문장이 실행되고 거짓(False)인 경우에는 실행되지 않는다. 거짓으로 사용되는 것들은 [0, 0.0, False, '']이 있다. while 반복문과 복합증감연산자(+=, -=)를 사용하여 for 반복문처럼 사용할 수도 있다.
i = 0
while i < 10:
print("반복 변수 i: {}".format(i))
i += 1
또한 리스트 내부에 값이 있다면 반복을 계속하고 더이상 값이 남아있지 않다면 반복을 중지하게끔 사용할 수도 있다.
list_a = [2, 5, 2, 5]
while 2 in list_a:
list_a.remove(2)
print(list_a)
◎ break 키워드 / continue 키워드
반복문 내부에서만 사용가능한 break와 continue 키워드가 있다.
break 키워드
break 키워드는 반복을 중지하고 반복문을 벗어날 때 사용하는 키워드이다. 아래 코드는 사용자에게 입력을 받아 그 입력 값이 'y' 또는 'Y'인 경우 실행을 종료하도록 하고 있다.
i = 0
while True:
print("현재 값: {}".format(i))
i += 1
input_text = input(">반복을 계속할까요?(y/n): ")
if input_text in ['y', 'Y']:
print("실행 종료")
break
continue 키워드
continue 키워드는 현재의 반복을 생략하고 다음의 반복으로 넘어갈 때 사용하는 키워드이다. 아래 코드는 리스트의 요소 값이 10보다 작은 경우에는 실행을 하지 않고 다음 요소로 넘어가도록 하고 있다.
list_a = [13, 20, 1, 5, 82]
for i in list_a:
if i < 10:
continue
print("값: {}".format(i))