for문을 거꾸로 하기

이윤설·2023년 2월 12일
0

그럼 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개의 댓글