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(시작, 끝, 증가폭))
다음을 참고하시면 좋을것 같네요.
감사합니다!!
'Coding_Algorithm > Python' 카테고리의 다른 글
[Python 2] input() 취약점에 대하여 (0) | 2021.05.17 |
---|---|
[Python] is에 대해서, 그리고 재미있는 문제 하나 (0) | 2021.04.11 |
[Python] 레퍼런스(reference)에 대해서 (0) | 2021.04.10 |
[Python 함수정리] 숫자 반올림하고싶을때 :: round (0) | 2020.03.19 |
[repl.it] 4.7. For: Number of zeros Solutions/풀이 (0) | 2020.03.17 |