본문 바로가기
IT 이것저것/파이썬python

파이썬Python 반복문, for문에 대해서 알아보자!

by KaNonx카논 2017. 4. 24.
반응형

파이썬Python 반복문, for문에 대해서 알아보자!

 


이번에는 반복문인 for 문에 대하여 알아보도록 하겠습니다.

 

일반적으로 for 문이라 함은

 

for 변수 in 리스트(또는 튜플, 문자열):
    수행할 문장1
    수행할 문장2


으로 구성되어 있습니다.

 

for문은 리스트나 튜플, 문자열의 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입되어

 

"수행할 문장1", "수행할 문장2" 등이 수행되는 것이죠!

 

여기서 예문을 볼까요?

 

EX)
 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)에 대입되어서 결과를 출력하는 것입니다.

 

 

- 출처 점프 투 파이썬

 

https://wikidocs.net/22

 

결과적으로 컨테이너 안의 값이 끝날 때까지 변수로 계속 대입되는 것을 반복한다는 겁니다.

 


이것을 응용하여서 "1 ~ 20까지의 덧셈문" 을 작성해 볼까요?

 

EX)

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문으로써 아래와 같이 나타낼 수 있다면,

 

EX)

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문을 다루어 보도록 하겠습니다!

 

 

-

반응형

댓글