티스토리 뷰

코딩/python

반복문 - for

ehzim 2023. 8. 27. 13:02

for 문

 

파이썬의 직관적인 특징을 가장 잘 보여 주는 것이 바로 이 for 문이다. while 문과 비슷한 반복문인 for 문은 문장 구조가 한눈에 들어온다는 장점이 있다.

 

 

for문의 기본구조

 

for each문

for 변수 in 리스트(또는 튜플, 문자열):  \\=시퀀스자료형
    수행할_문장1
    수행할_문장2
    ...

리스트나 튜플 문자열의 첫번째 요소부터 마지막 요소까지 차례로 변수에 대입되어 '수행할_문장1' '수행할_문장2' 등이 수행된다.

for문의 끝에는 콜론(:)을 붙여주어야 한다.

for문에 수행부분이 속해있다는 것을 들여쓰기를 통해 나타낸다.

 

 

예제

 

>>> test_list = ['one', 'two', 'three'] 
>>> for i in test_list: 
...     print(i)
... 
one 
two 
three

 

 

 

 

range()문

 

range는 범위라는 뜻인데 여기서는 어떤 정수를 인자로 주면 그 범위 안의 정수들을 만들어준다.

range 함수에서 시작을 생략하면 0, 스텝 값을 생략하면 1이 자동으로 들어간다.

 

for 변수 in range(시작,종료,스텝):
	명령문

range 함수에 값이 하나일 경우 시작=0, 스텝=1 이 자동으로 들어가고,

range 함수에 값이 두개일 경우 스텝=1이 자동으로 들어간다.

 

 

 

예제

 

for i in range(10):
    print(i)
0
1
2
3
4
5
6
7
8
9

 

 

 

for의 중첩문

 

 

중첩 반복문이란 반복할 코드 안에 또 다른 반복문이 있는 형태이다.

 

	for(초기조건1; 종결조건1; 증감식1)			//외부 반복문
{
	for(초기조건2; 종결조건2; 증감식2)		//내부 반복문
	{
    		반복할 명령문;
	}
}

중첩 반복문을 사용할 때는 각각의 반복문에서 쓰고 있는 카운터 변수의 이름이 겹치지 않도록 주의해야 한다.

 

 

 

for과 while 문을 혼합해서 사용

 

for 변수 in 반복가능객체:
  while 조건:
      반복할 코드


while 조건:
  for 변수 in 반복가능객체:
      반복할 코드

 

 

예제

 

for i in range(4):
    for j in range(4):
        print(i + j, end=" ")
    print()
0 1 2 3 
1 2 3 4 
2 3 4 5 
3 4 5 6

 

 

 

 

 

for문의 추가 사용법 (break, continue)

 

break

 

for 반복문을 돌다가 특정 조건을 만족하게 될때 반복문을 그만돌리고 싶을 때 사용하면 된다.

 

index = 0
s = "BlockDMask" 
for a in s:
    if a == 'k':            
        break    # 'k'를 찾았으니 for문에서 나와랏!
     
    index = index + 1


print(index)    # 'k'가 첫번째로 존재하는 위치 출력

위와 같이 어떤 문자열 "BlockDMask"가 있다고 했을때, 번째 k의 위치를 가지고 오고싶다 이럴때 break를 사용하면 된다.

이런식으로 사용하게 되면 첫번째 'k'가 나온 후에는 for 반복문을 바로 빠져나오게 된다.

 

 

 

 

continue

 

for 반복문을 돌다가 특정 조건을 만족하게 될 때 for문의 처음으로 바로 올라가고 싶을때 사용하면 된다.

 

student = [180, 170, 164, 199, 182, 172, 177]
for a in student:
    if a > 170:
        continue  # 키가 170보다 크면 continue
 
    print(a)
170 
164

'코딩 > python' 카테고리의 다른 글

코드업 기초 100제 파이썬 6071~6080  (0) 2023.08.26
While문  (0) 2023.08.23
python 비트 연산자(Bitwise Operators)  (0) 2023.08.23
코드업 기초 100제 파이썬 6061~6070  (0) 2023.08.18
코드업 기초 100제 파이썬 6051~6060  (0) 2023.08.15
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday