파이썬 | for 반복문

CHOI·2021년 10월 24일
0

Python

목록 보기
9/33
post-thumbnail

만약 'hello' 라는 문자열을 100번 출력해야 한다면 어떻게 해야할까? 가장 1 차원 적인 방법은 print 를 100 번 사용하는 것이다.

print('hello')
print('hello')
print('hello')
.
.
.
print('hello')

하지만 이 방법은 너무 무식한 방법이고 시간도 너무 많이 걸리고 비효율적이다.

그래서 대부분 프로그래밍 언어에서는 반복되는 작업을 간단하게 처리할 수 있는 '반복문' 이라는 기능을 제공한다. 몇 가지 반복문들이 있지만 먼저 for 반복문을 살펴보자.

1. for 반복문

for 과 range 사용하기

for 을 이용하는 방법으로는 여러가지가 있지만 range 부터 살펴보면 range 를 통해서 우리는 '반복할 횟수' 를 지정할 수 있다. 앞서 말했던 'hello' 100번 출력하기는 다음과 같이 하면 된다.

for i in range(100):
	print('hello')

앞서 우리는 '리스트 만들기' 에서 range 는 연속된 숫자를 생성한다고 배웠다. for 반복문은 range 에서 in 으로 숫자를 하나씩 꺼내서 반복하는 방식이다.

range(100) 을 하면 0부터 99까지 숫자 100개를 생성한다. 그리고 0부터 하나씩 차례대로 변수 i 에 저장하고 반복문 안에 있는 print 문이 실행되는 것이다.

반복문에서 변수의 변화

그렇다면 이번에는 변수 i 도 같이 출력해봐서 실제로 반복문이 돌아가면서 변수의 값이 어떻게 변하는지 확인해보자.

for i in range(100):
	print('hello', i)
hello 0
hello 1
hello 2
hello 3
... (생략)
hello 98
hello 99

for 반복문에서 range 활용

그렇다면 앞서 range 에는 시작, 끝, 증감폭도 지정할 수 있었으니까 그것을 활용하여 반복문을 바꿔보자

for i in range(10, 0, -2):
	print('hello', i)
hello 10
hello 8
hello 6
hello 4
hello 2

위와 같이 활용할 수 있다.

또한 앞서 배웠던 input 을 통해 숫자를 입력받고 그 횟수 만큼 반복문을 반복하는 형태도 만들 수 있으니 참고하자.

시퀀스 객체

앞서 range 를 활용했었는데 이미 눈치 챘겠지만 range 외에 리스트, 튜플, 문자열 등 시퀀스 객체를 넣을 수 있다.

>>> a = [10, 20, 30, 40, 50]
>>> for i in a:
...     print(i)
...
10
20
30
40
50
>>> for letter in 'Python':
...     print(letter, end=' ')
...
P y t h o n

여기에선 printend 를 띄어쓰기로 지정해줘서 print 가 실행될 때 마다 줄바꿈 대신 띄어쓰기가 일어난다.

>>> for letter in reversed('Python'):
...     print(letter, end=' ')
...
n o h t y P

reversed 를 사용하면 문자열을 뒤집어서 출력할 수도 있다.(원본 객체 자체는 바뀌지 않으며 뒤집어서 꺼내줌).

profile
벨로그보단 티스토리를 사용합니다! https://flight-developer-stroy.tistory.com/

0개의 댓글