상태이상 : 호기심 중독

이것저것 알아두면 언젠간 도움이 된다.

코딩/Python!

제어문 - for, while [Python]

IT코코아 2018. 5. 6. 20:42

Python에서의 for문 기본 작성 형식.

for 변수 in range(반복횟수) :
...
...
...

for문 안의 변수는 미리 선언되어있지 않아도 됩니다.
기본적으로 멤버 연산자인 in과 range()함수를 함께 사용합니다.

ex)

for cnt in range(10) :
    print("hi {}" .format(cnt))

이런식으로 코드를 작성해 실행 시켜 봅시다.

정상적으로 for문이 실행됩니다.

for문이 어떤식으로 작동하는지 그림과 함께 알아보겠습니다.

설명해보자면, range()함수는 0부터 (n-1)까지의 숫자를 배열로 담아주는 함수라고 생각하시면 됩니다.
실제로 print(list(range(10)))로 range()함수를 list객체로 변환 시켜주면 [0,1,2,3,4,5,6,7,8,9]로 출력되는 것을 확인해볼 수 있습니다. tuple()을 이용해 tuple객체로 변환해도 (0,1,2,3,4,5,6,7,8,9)로 나옵니다.
그렇기 때문에 range()함수 자리에 리스트, 튜플, 딕셔너리 자료형을 임의로 넣어 사용해도 됩니다.

for x in [1,5,6,7,89,10] :
    print(x)

즉 리스트나 튜플안의 값이 차례대로 cnt(for문안 변수)로 들어가서 실행문에 들어가는 형식입니다.
문자열을 이용할수도 있습니다.

for x in 'ABCD' :
    print(x)

a='1235d45fad5f34a3sdf' #공백도 포함.
cnt =0
for x in a :
    cnt+=1
    print(x,cnt)

 

  • range()함수

    range(n) : 0~n-1까지
    range(s,e) : s~e까지
    range(s,e,r) : s~e까지 r의 간격으로

         ex) range(2,101,2) : 2~100까지 2의 간격으로. 즉 짝수만.  
    

while 기본 작성.

while 조건문 :
    ....
    ....
    ....

조건문이 True라는 값을 반환한다면 while안에 포함된 실행문들이 계속해서 실행 됩니다.

x=1
sum=0
while x!=101 :
    sum+=x
    x+=1
print(sum)

1부터 100까지의 합을 구하는 while문 예제입니다.

x = 'a'
while x in ['a','b','c] :
    print(x)

멤버연산자 in을 사용한 while문입니다. 이 경우 변수x안에 넣은 a라는 문자가 ['a','b','c'] 리스트 안에 있기 때문에 무한반복에 빠지겠네요.

조건문엔 당연히 bool형의 True와 False를 사용할 수도 있습니다.

반응형