for문을 거꾸로 하기

이윤설·2023년 2월 12일

그럼 n부터 1까지 거꾸로 출력하려면 어떻게 해야 할까? 우선, Python의 for문에 쓰이는 range()에 대해 알아볼 필요가 있다.

range()는 순차적인 숫자를 가지는 리스트를 생성하는 함수이며 range()에는 3개의 파라미터가 있다.

range([start,] stop [,step])이고 start, step은 생략 가능하다. start와 step을 생략하면 각각 0, 1로 주어지게 된다.

start는 시작 숫자, stop은 끝 숫자, step은 숫자 사이의 거리를 의미한다. 단, 끝 숫자는 포함이 되지 않는다.

위의 코드에 print()의 괄호 안을 i + 1로 한 이유가 이 때문이다.

그럼 start가 시작 숫자고 stop이 끝 숫자니까 start를 n으로 하고 stop을 0으로 하면 되지 않을까?

결론은 안된다. 실제로 돌려보면 아무것도 출력되지 않는다. 그렇다면 어떻게 해야 할까?

1.바로 step을 음수로 지정하면 된다.

for i in range(n, 0, -1):
	print(i)

2.또 다른 방법으로 reversed()를 이용할 수도 있다. reversed()는 리스트의 원소를 거꾸로 뒤집고 이를 반환하는 함수이다.

for i in reversed(range(n)):
	print(i + 1)
profile
화려한 외면이 아닌 단단한 내면

0개의 댓글