Python에서 for문으로 감산하기

두비니

·

2019. 5. 21. 03:49

 

 

python에서는 for문을 이용하면 보통

for (변수) in (범위)의 꼴로 많이 이용을 하고, 특히

 

for i in range(0, 10):

  print(i, end=" ")

 

의 방식으로 주로 사용합니다.

하지만 이 방법은 증가에만 해당이 되고, 감산을 할 수 있는 방법은 없습니다.

 

for i in range(10, 0):

  print(i, end=" ")

 

의 식은 실제로 python에서 돌아가지 않습니다.

 

이와 같은 문제는 2가지로 해결할 수 있는데요, 

 

 

 

 

1. 증가 폭을 음수로 지정하기

 

>>> for i in range(10, 0, -1): # 10에서 1까지 역순으로 숫자 생성

... print('Hello, world!', i)

...

Hello, world! 10

Hello, world! 9

Hello, world! 8

... (생략)

Hello, world! 2

Hello, world! 1

 

다음과 같은 결과가 출력될 것이고, range(10, 0, -1)의 뜻은 "10부터 0까지 증가폭은 -1로 출력해주세요"라는 뜻인데

증가폭은 임의적으로 지정해 줄 수 있겠죠?

 

 

 

2. reversed함수 이용하기

 

>>> for i in reversed(range(10)):    # range에 reversed를 사용하여 숫자의 순서를 반대로 뒤집음 ...    

print('Hello, world!', i)    # 9부터 0까지 10번 반복 ...

Hello, world! 9

Hello, world! 8

Hello, world! 7

... (생략)

Hello, world! 1

Hello, world! 0

 

이렇게 코드를 짜면 되는데요, 

 

  • for 변수 in reversed(range(횟수))
  • for 변수 in reversed(range(시작, 끝))
  • for 변수 in reversed(range(시작, 끝, 증가폭))

다음을 참고하시면 좋을것 같네요.

 

 

감사합니다!!