파이썬Python 반복문, for문에 대해서 알아보자!
이번에는 반복문인 for 문에 대하여 알아보도록 하겠습니다.
일반적으로 for 문이라 함은
for 변수 in 리스트(또는 튜플, 문자열):
수행할 문장1
수행할 문장2
으로 구성되어 있습니다.
for문은 리스트나 튜플, 문자열의 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입되어
"수행할 문장1", "수행할 문장2" 등이 수행되는 것이죠!
여기서 예문을 볼까요?
test_list = ['one', 'two', 'three']
>>> for i in test_list:
... print(i)
...
one
two
three
위와 같이 컨테이너에서 첫 번째 요소인 'one'이 먼저 i 변수에 대입된 후 print(i)라는 문장을 수행하고,
다음에 'two'라는 두 번째 요소가 i 변수에 대입된 후 print(i) 문장을 수행하고,
마지막 'three'까지 print(i)에 대입되어서 결과를 출력하는 것입니다.
- 출처 점프 투 파이썬
결과적으로 컨테이너 안의 값이 끝날 때까지 변수로 계속 대입되는 것을 반복한다는 겁니다.
이것을 응용하여서 "1 ~ 20까지의 덧셈문" 을 작성해 볼까요?
total = 0
for item in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]:
total = total + item
print("1부터 20까지의 합은", total, "입니다")
여기에서는 변수 item에 1 ~ 20까지의 수가 차례대로 대입되면서 total과 더해지게 됩니다.
그리고 출력되는 결과물이
"1부터 20까지의 합은", total, "입니다"에서
total 안에 대입되어 나오는거지요
물론, 더하고 싶은 숫자들을 전부 입력하지 않아도 되는 방법이 있죠!
이름하여 range!
range는 범위를 나타내는 예약어입니다.
range = ([시작],끝,[단계])
시작과 단계는 건너 뛸 수 있으나 끝은 적어야하는 것 잊지 마세요!
EX)
total = 0
for item in range(1, 101):
total = total + item
print(total)
이런 식으로 작성하게 되면 자동적으로 1 ~ 101까지의 숫자를 더해서 결과물을 출력해 주겠지요?
비슷한 조건식으로는 while 식이 있습니다.
for 문이 for 대상 in 범위 라는 형식을 취한다면,
while문은 while 조건식이 붙는다는 것이 다른거지요 (~하는 동안)
즉, for문으로써 아래와 같이 나타낼 수 있다면,
total = 0
for item in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
total = total + item
while문에서는 아래 식으로 나타낼 수 있겠지요
EX)
total = 0
count = 1
while(count <= 10):
total = total + count
count = count + 1
print(total)
count의 값이 10보다 작거나 같을 동안, total과 count의 값을 더하며
count는 돌 때 마다 +1 을 받는거지요!
결과적으로 같은 값을 출력하게 되지만, 역시 for 문이 압도적으로 쉬워보이지 않으신가요?
다음에는 break문과 continue문을 다루어 보도록 하겠습니다!
-
'IT 이것저것 > 파이썬python' 카테고리의 다른 글
파이썬python 요일 계산 프로그램을 짜 보았다. - 완성편 (0) | 2017.05.02 |
---|---|
파이썬python 요일 계산 프로그램을 짜 보았다. (0) | 2017.04.27 |
파이썬Python if문 반복학습 / 줄여서 elif?! (0) | 2017.04.23 |
파이썬Python 성적 처리 프로그램을 작성해 보았다! (0) | 2017.04.23 |
파이썬Python 리스트 타입의 슬라이싱 및 if 제어문 (0) | 2017.04.22 |
댓글