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를 사용할 수도 있습니다.
'코딩 > Python!' 카테고리의 다른 글
튜플 [Python] (2) | 2018.05.11 |
---|---|
입력 input()함수 + Packing, Unpacking [Python] (0) | 2018.05.06 |
제어문 - else, elif [Python] (0) | 2018.04.01 |
짧게 알고 가는 자료형의 종류 [Python] (0) | 2018.04.01 |
제어문 - if - 연산자, 조건문 표현식 [Python] (0) | 2018.03.31 |